home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1992-11-16 | 14.6 KB | [TEXT/MPS ] |
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary).
Confidence | Program | Detection | Match Type | Support
|
---|
66%
| dexvert
| Compact Compressed (Unix) (archive/compact)
| ext
| Supported |
10%
| dexvert
| MacBinary (archive/macBinary)
| fallback
| Supported |
10%
| dexvert
| Jesper Olsen Module (music/jesperOlsen)
| magic
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| MacBinary II, inited, Mon Nov 16 17:42:13 1992, modified Mon Nov 16 17:42:13 1992, creator 'MPS ', type ASCII, 14325 bytes "init.c" , at 0x3875 428 bytes resource
| default (weak)
| |
99%
| file
| data
| default
| |
49%
| TrID
| Macintosh plain text (MacBinary)
| default
| |
33%
| TrID
| TTComp archive compressed (bin-4K)
| default (weak)
| |
16%
| TrID
| MacBinary 2
| default (weak)
| |
100%
| siegfried
| fmt/1762 MacBinary (II)
| default
| |
100%
| lsar
| MacBinary
| default
|
|
id metadata |
---|
key | value |
---|
macFileType | [TEXT] |
macFileCreator | [MPS ] |
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 06 69 6e 69 74 2e 63 | 00 00 00 00 00 00 00 00 |..init.c|........|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 50 53 | 20 01 00 00 00 00 00 00 |.TEXTMPS| .......|
|00000050| 00 00 00 00 00 37 f5 00 | 00 01 ac a7 2d d4 45 a7 |.....7..|....-.E.|
|00000060| 2d d4 45 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |-.E.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 67 88 00 00 |........|....g...|
|00000080| 2f 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |/*******|********|
|00000090| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 0d |********|*******.|
|000000c0| 43 6f 70 79 72 69 67 68 | 74 20 31 39 39 30 2c 20 |Copyrigh|t 1990, |
|000000d0| 31 39 39 31 20 4f 72 69 | 6f 6e 20 4e 65 74 77 6f |1991 Ori|on Netwo|
|000000e0| 72 6b 20 53 79 73 74 65 | 6d 73 2c 20 49 6e 63 2e |rk Syste|ms, Inc.|
|000000f0| 20 41 6c 6c 20 52 69 67 | 68 74 73 20 52 65 73 65 | All Rig|hts Rese|
|00000100| 72 76 65 64 2e 0d 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |rved..**|********|
|00000110| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000120| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000130| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000140| 2a 2a 2a 2a 2f 0d 23 69 | 6e 63 6c 75 64 65 20 3c |****/.#i|nclude <|
|00000150| 4d 65 6d 6f 72 79 2e 68 | 3e 0d 23 69 6e 63 6c 75 |Memory.h|>.#inclu|
|00000160| 64 65 20 3c 52 65 73 6f | 75 72 63 65 73 2e 68 3e |de <Reso|urces.h>|
|00000170| 0d 23 69 6e 63 6c 75 64 | 65 20 3c 46 69 6c 65 73 |.#includ|e <Files|
|00000180| 2e 68 3e 0d 23 69 6e 63 | 6c 75 64 65 20 3c 54 79 |.h>.#inc|lude <Ty|
|00000190| 70 65 73 2e 68 3e 0d 23 | 69 6e 63 6c 75 64 65 20 |pes.h>.#|include |
|000001a0| 3c 44 65 76 69 63 65 73 | 2e 68 3e 0d 23 69 6e 63 |<Devices|.h>.#inc|
|000001b0| 6c 75 64 65 20 3c 45 76 | 65 6e 74 73 2e 68 3e 0d |lude <Ev|ents.h>.|
|000001c0| 23 69 6e 63 6c 75 64 65 | 20 3c 53 79 73 45 71 75 |#include| <SysEqu|
|000001d0| 2e 68 3e 09 09 2f 2a 20 | 46 4f 52 20 50 4f 52 54 |.h>../* |FOR PORT|
|000001e0| 41 42 4c 45 20 42 55 47 | 20 2a 2f 0d 23 69 6e 63 |ABLE BUG| */.#inc|
|000001f0| 6c 75 64 65 20 3c 53 74 | 72 69 6e 67 73 2e 68 3e |lude <St|rings.h>|
|00000200| 0d 23 69 6e 63 6c 75 64 | 65 20 3c 45 72 72 6f 72 |.#includ|e <Error|
|00000210| 73 2e 68 3e 0d 23 69 6e | 63 6c 75 64 65 20 3c 4e |s.h>.#in|clude <N|
|00000220| 6f 74 69 66 69 63 61 74 | 69 6f 6e 2e 68 3e 0d 23 |otificat|ion.h>.#|
|00000230| 69 6e 63 6c 75 64 65 20 | 3c 4f 53 55 74 69 6c 73 |include |<OSUtils|
|00000240| 2e 68 3e 0d 23 69 6e 63 | 6c 75 64 65 20 3c 46 6f |.h>.#inc|lude <Fo|
|00000250| 6c 64 65 72 73 2e 68 3e | 0d 0d 23 69 6e 63 6c 75 |lders.h>|..#inclu|
|00000260| 64 65 20 22 69 6e 69 74 | 2e 68 22 0d 23 69 6e 63 |de "init|.h".#inc|
|00000270| 6c 75 64 65 20 22 74 72 | 61 63 65 4d 6f 64 75 6c |lude "tr|aceModul|
|00000280| 65 2e 68 22 0d 0d 70 61 | 73 63 61 6c 20 76 6f 69 |e.h"..pa|scal voi|
|00000290| 64 20 49 6e 69 74 4d 61 | 69 6e 28 29 0d 7b 0d 73 |d InitMa|in().{.s|
|000002a0| 68 6f 72 74 20 65 72 72 | 3b 0d 73 68 6f 72 74 20 |hort err|;.short |
|000002b0| 72 65 66 6e 75 6d 3b 0d | 53 74 72 69 6e 67 50 74 |refnum;.|StringPt|
|000002c0| 72 20 74 72 61 63 65 44 | 72 76 72 4e 61 6d 65 3b |r traceD|rvrName;|
|000002d0| 0d 48 61 6e 64 6c 65 20 | 64 63 65 48 61 6e 64 6c |.Handle |dceHandl|
|000002e0| 65 3b 20 2f 2a 20 46 4f | 52 20 50 4f 52 54 41 42 |e; /* FO|R PORTAB|
|000002f0| 4c 45 20 42 55 47 20 2a | 2f 0d 48 61 6e 64 6c 65 |LE BUG *|/.Handle|
|00000300| 20 64 72 76 72 48 61 6e | 64 6c 65 3b 20 2f 2a 20 | drvrHan|dle; /* |
|00000310| 46 4f 52 20 50 4f 52 54 | 41 42 4c 45 20 42 55 47 |FOR PORT|ABLE BUG|
|00000320| 20 2a 2f 0d 50 74 72 20 | 65 6e 74 72 79 50 74 72 | */.Ptr |entryPtr|
|00000330| 3b 20 2f 2a 20 46 4f 52 | 20 50 4f 52 54 41 42 4c |; /* FOR| PORTABL|
|00000340| 45 20 42 55 47 20 2a 2f | 0d 63 68 61 72 20 6d 79 |E BUG */|.char my|
|00000350| 4b 65 79 4d 61 70 5b 31 | 36 5d 3b 0d 72 65 67 69 |KeyMap[1|6];.regi|
|00000360| 73 74 65 72 20 73 68 6f | 72 74 20 69 63 6f 6e 49 |ster sho|rt iconI|
|00000370| 44 20 3d 20 49 6e 61 63 | 74 69 76 65 49 63 6f 6e |D = Inac|tiveIcon|
|00000380| 49 44 3b 0d 73 61 76 65 | 54 79 70 65 48 61 6e 64 |ID;.save|TypeHand|
|00000390| 6c 65 09 75 73 65 72 50 | 72 65 66 73 48 61 6e 64 |le.userP|refsHand|
|000003a0| 6c 65 3b 0d 73 68 6f 72 | 74 20 73 79 73 46 6f 6c |le;.shor|t sysFol|
|000003b0| 64 65 72 52 65 66 4e 75 | 6d 3d 30 3b 0d 73 68 6f |derRefNu|m=0;.sho|
|000003c0| 72 74 20 70 72 65 66 73 | 56 6f 6c 52 65 66 3b 0d |rt prefs|VolRef;.|
|000003d0| 42 6f 6f 6c 65 61 6e 09 | 73 68 69 66 74 48 65 6c |Boolean.|shiftHel|
|000003e0| 64 44 6f 77 6e 3b 0d 42 | 6f 6f 6c 65 61 6e 09 6c |dDown;.B|oolean.l|
|000003f0| 6f 61 64 54 72 61 63 65 | 44 72 69 76 65 72 3b 0d |oadTrace|Driver;.|
|00000400| 53 79 73 45 6e 76 52 65 | 63 20 65 6e 76 69 72 6f |SysEnvRe|c enviro|
|00000410| 6e 6d 65 6e 74 3b 0d 48 | 61 6e 64 6c 65 09 64 72 |nment;.H|andle.dr|
|00000420| 76 72 4e 61 6d 65 3b 09 | 2f 2f 20 53 74 72 69 6e |vrName;.|// Strin|
|00000430| 67 20 70 6f 69 6e 74 65 | 72 20 74 6f 20 74 61 72 |g pointe|r to tar|
|00000440| 67 65 74 20 64 72 69 76 | 65 72 27 73 20 6e 61 6d |get driv|er's nam|
|00000450| 65 2e 2e 0d 0d 09 65 72 | 72 20 3d 20 53 79 73 45 |e.....er|r = SysE|
|00000460| 6e 76 69 72 6f 6e 73 28 | 31 2c 26 65 6e 76 69 72 |nvirons(|1,&envir|
|00000470| 6f 6e 6d 65 6e 74 29 3b | 0d 09 69 66 20 28 65 72 |onment);|..if (er|
|00000480| 72 20 3d 3d 20 6e 6f 45 | 72 72 29 20 0d 09 09 73 |r == noE|rr) ...s|
|00000490| 79 73 46 6f 6c 64 65 72 | 52 65 66 4e 75 6d 20 3d |ysFolder|RefNum =|
|000004a0| 20 65 6e 76 69 72 6f 6e | 6d 65 6e 74 2e 73 79 73 | environ|ment.sys|
|000004b0| 56 52 65 66 4e 75 6d 3b | 65 6c 73 65 20 73 79 73 |VRefNum;|else sys|
|000004c0| 46 6f 6c 64 65 72 52 65 | 66 4e 75 6d 20 3d 20 30 |FolderRe|fNum = 0|
|000004d0| 3b 09 09 2f 2f 20 47 65 | 74 20 74 68 65 20 73 79 |;..// Ge|t the sy|
|000004e0| 73 20 66 6f 6c 64 65 72 | 20 76 72 65 66 0d 09 09 |s folder| vref...|
|000004f0| 0d 09 69 66 20 28 65 6e | 76 69 72 6f 6e 6d 65 6e |..if (en|vironmen|
|00000500| 74 2e 73 79 73 74 65 6d | 56 65 72 73 69 6f 6e 20 |t.system|Version |
|00000510| 3e 3d 20 30 78 30 37 30 | 30 29 0d 09 09 70 72 65 |>= 0x070|0)...pre|
|00000520| 66 73 56 6f 6c 52 65 66 | 20 3d 20 47 65 74 46 6f |fsVolRef| = GetFo|
|00000530| 6c 64 65 72 56 6f 6c 28 | 6b 50 72 65 66 65 72 65 |lderVol(|kPrefere|
|00000540| 6e 63 65 73 46 6f 6c 64 | 65 72 54 79 70 65 29 3b |ncesFold|erType);|
|00000550| 0d 09 65 6c 73 65 20 70 | 72 65 66 73 56 6f 6c 52 |..else p|refsVolR|
|00000560| 65 66 20 3d 20 73 79 73 | 46 6f 6c 64 65 72 52 65 |ef = sys|FolderRe|
|00000570| 66 4e 75 6d 3b 0d 0d 09 | 75 73 65 72 50 72 65 66 |fNum;...|userPref|
|00000580| 73 48 61 6e 64 6c 65 20 | 3d 20 47 65 74 55 73 65 |sHandle |= GetUse|
|00000590| 72 50 72 65 66 73 28 70 | 72 65 66 73 56 6f 6c 52 |rPrefs(p|refsVolR|
|000005a0| 65 66 2c 20 26 64 72 76 | 72 4e 61 6d 65 29 3b 0d |ef, &drv|rName);.|
|000005b0| 0d 09 69 66 20 28 75 73 | 65 72 50 72 65 66 73 48 |..if (us|erPrefsH|
|000005c0| 61 6e 64 6c 65 20 21 3d | 20 6e 69 6c 29 0d 09 09 |andle !=| nil)...|
|000005d0| 6c 6f 61 64 54 72 61 63 | 65 44 72 69 76 65 72 20 |loadTrac|eDriver |
|000005e0| 3d 20 28 28 2a 2a 75 73 | 65 72 50 72 65 66 73 48 |= ((**us|erPrefsH|
|000005f0| 61 6e 64 6c 65 29 2e 66 | 54 72 61 63 65 4f 6e 53 |andle).f|TraceOnS|
|00000600| 74 61 72 74 75 70 20 21 | 3d 20 30 29 3b 0d 09 65 |tartup !|= 0);..e|
|00000610| 6c 73 65 20 6c 6f 61 64 | 54 72 61 63 65 44 72 69 |lse load|TraceDri|
|00000620| 76 65 72 20 3d 20 66 61 | 6c 73 65 3b 0d 09 0d 09 |ver = fa|lse;....|
|00000630| 2f 2a 20 43 68 65 63 6b | 20 69 66 20 74 68 65 20 |/* Check| if the |
|00000640| 73 68 69 66 74 20 6b 65 | 79 20 69 73 20 64 6f 77 |shift ke|y is dow|
|00000650| 6e 20 2d 20 69 66 20 69 | 74 20 69 73 20 74 68 65 |n - if i|t is the|
|00000660| 6e 20 44 4f 20 4e 4f 54 | 20 69 6e 73 74 61 6c 6c |n DO NOT| install|
|00000670| 3a 20 2a 2f 0d 09 47 65 | 74 4b 65 79 73 28 28 4b |: */..Ge|tKeys((K|
|00000680| 65 79 4d 61 70 29 20 6d | 79 4b 65 79 4d 61 70 29 |eyMap) m|yKeyMap)|
|00000690| 3b 0d 09 73 68 69 66 74 | 48 65 6c 64 44 6f 77 6e |;..shift|HeldDown|
|000006a0| 20 3d 20 6d 79 4b 65 79 | 4d 61 70 5b 73 68 69 66 | = myKey|Map[shif|
|000006b0| 74 4b 65 79 43 6f 64 65 | 20 2f 20 38 5d 20 26 20 |tKeyCode| / 8] & |
|000006c0| 28 30 78 30 31 20 3c 3c | 20 28 73 68 69 66 74 4b |(0x01 <<| (shiftK|
|000006d0| 65 79 43 6f 64 65 20 25 | 20 38 29 29 3b 0d 09 0d |eyCode %| 8));...|
|000006e0| 09 69 66 20 28 73 68 69 | 66 74 48 65 6c 64 44 6f |.if (shi|ftHeldDo|
|000006f0| 77 6e 29 0d 09 09 7b 0d | 09 09 2f 2f 20 44 72 69 |wn)...{.|..// Dri|
|00000700| 76 65 72 20 77 69 6c 6c | 20 62 65 20 69 6e 73 74 |ver will| be inst|
|00000710| 61 6c 6c 65 64 20 77 68 | 65 6e 20 74 68 65 20 63 |alled wh|en the c|
|00000720| 64 65 76 20 69 73 20 66 | 69 72 73 74 20 6f 70 65 |dev is f|irst ope|
|00000730| 6e 65 64 2e 2e 2e 0d 09 | 09 69 63 6f 6e 49 44 20 |ned.....|.iconID |
|00000740| 3d 20 49 6e 61 63 74 69 | 76 65 49 63 6f 6e 49 44 |= Inacti|veIconID|
|00000750| 3b 0d 09 09 7d 09 09 0d | 09 65 6c 73 65 0d 09 09 |;...}...|.else...|
|00000760| 7b 0d 09 0d 09 09 2f 2a | 20 49 6e 73 74 61 6c 6c |{...../*| Install|
|00000770| 20 61 6e 64 20 6f 70 65 | 6e 20 74 68 65 20 64 72 | and ope|n the dr|
|00000780| 69 76 65 72 20 2a 2f 0d | 09 09 0d 09 09 74 72 61 |iver */.|.....tra|
|00000790| 63 65 44 72 76 72 4e 61 | 6d 65 20 3d 20 22 5c 70 |ceDrvrNa|me = "\p|
|000007a0| 2e 54 52 41 43 45 22 3b | 0d 09 09 65 72 72 20 3d |.TRACE";|...err =|
|000007b0| 20 49 6e 73 74 61 6c 6c | 44 72 69 76 65 72 28 74 | Install|Driver(t|
|000007c0| 72 61 63 65 44 72 76 72 | 4e 61 6d 65 29 3b 0d 09 |raceDrvr|Name);..|
|000007d0| 09 0d 09 09 69 66 20 28 | 65 72 72 20 3d 3d 20 6e |....if (|err == n|
|000007e0| 6f 45 72 72 29 0d 09 09 | 09 65 72 72 20 3d 20 4f |oErr)...|.err = O|
|000007f0| 70 65 6e 44 72 69 76 65 | 72 28 74 72 61 63 65 44 |penDrive|r(traceD|
|00000800| 72 76 72 4e 61 6d 65 2c | 20 26 72 65 66 6e 75 6d |rvrName,| &refnum|
|00000810| 29 3b 09 0d 09 0d 09 09 | 2f 2a 20 46 4f 52 20 50 |);......|/* FOR P|
|00000820| 4f 52 54 41 42 4c 45 20 | 42 55 47 20 2d 20 61 66 |ORTABLE |BUG - af|
|00000830| 74 65 72 20 5f 4f 70 65 | 6e 20 6f 6e 20 4d 61 63 |ter _Ope|n on Mac|
|00000840| 20 70 6f 72 74 61 62 6c | 65 2c 20 64 72 69 76 65 | portabl|e, drive|
|00000850| 72 20 68 61 73 20 62 65 | 65 6e 20 75 6e 6c 6f 63 |r has be|en unloc|
|00000860| 6b 65 64 20 2a 2f 0d 09 | 09 2f 2a 20 6f 6e 20 74 |ked */..|./* on t|
|00000870| 68 65 20 73 79 73 74 65 | 6d 20 68 65 61 70 2c 20 |he syste|m heap, |
|00000880| 65 76 65 6e 20 74 68 6f | 75 67 68 20 64 4e 65 65 |even tho|ugh dNee|
|00000890| 64 4c 6f 63 6b 20 69 73 | 20 73 65 74 20 69 6e 20 |dLock is| set in |
|000008a0| 74 68 65 20 64 72 69 76 | 65 72 20 66 6c 61 67 73 |the driv|er flags|
|000008b0| 20 21 21 21 20 2a 2f 0d | 09 09 0d 09 09 69 66 20 | !!! */.|.....if |
|000008c0| 28 65 72 72 20 3d 3d 20 | 6e 6f 45 72 72 29 0d 09 |(err == |noErr)..|
|000008d0| 09 09 7b 0d 09 09 09 65 | 6e 74 72 79 50 74 72 20 |..{....e|ntryPtr |
|000008e0| 3d 20 2a 28 28 50 74 72 | 20 2a 29 20 55 54 61 62 |= *((Ptr| *) UTab|
|000008f0| 6c 65 42 61 73 65 29 3b | 0d 09 09 09 65 6e 74 72 |leBase);|....entr|
|00000900| 79 50 74 72 20 2b 3d 20 | 28 28 7e 72 65 66 6e 75 |yPtr += |((~refnu|
|00000910| 6d 29 20 2a 20 34 29 3b | 20 0d 09 09 09 64 63 65 |m) * 4);| ....dce|
|00000920| 48 61 6e 64 6c 65 20 3d | 20 2a 28 28 48 61 6e 64 |Handle =| *((Hand|
|00000930| 6c 65 20 2a 29 20 65 6e | 74 72 79 50 74 72 29 3b |le *) en|tryPtr);|
|00000940| 0d 09 09 09 64 72 76 72 | 48 61 6e 64 6c 65 20 3d |....drvr|Handle =|
|00000950| 20 28 48 61 6e 64 6c 65 | 29 20 28 28 44 43 74 6c | (Handle|) ((DCtl|
|00000960| 45 6e 74 72 79 20 2a 29 | 20 2a 64 63 65 48 61 6e |Entry *)| *dceHan|
|00000970| 64 6c 65 29 2d 3e 64 43 | 74 6c 44 72 69 76 65 72 |dle)->dC|tlDriver|
|00000980| 3b 0d 09 09 09 69 66 20 | 28 64 72 76 72 48 61 6e |;....if |(drvrHan|
|00000990| 64 6c 65 20 21 3d 20 6e | 69 6c 29 20 2f 2a 20 4a |dle != n|il) /* J|
|000009a0| 75 73 74 20 69 6e 20 63 | 61 73 65 20 2a 2f 0d 09 |ust in c|ase */..|
|000009b0| 09 09 48 4c 6f 63 6b 28 | 64 72 76 72 48 61 6e 64 |..HLock(|drvrHand|
|000009c0| 6c 65 29 3b 0d 09 09 09 | 69 66 20 28 6c 6f 61 64 |le);....|if (load|
|000009d0| 54 72 61 63 65 44 72 69 | 76 65 72 29 0d 09 09 09 |TraceDri|ver)....|
|000009e0| 09 69 63 6f 6e 49 44 20 | 3d 20 49 6e 76 6f 6b 65 |.iconID |= Invoke|
|000009f0| 54 72 61 63 65 28 72 65 | 66 6e 75 6d 2c 20 70 72 |Trace(re|fnum, pr|
|00000a00| 65 66 73 56 6f 6c 52 65 | 66 2c 20 75 73 65 72 50 |efsVolRe|f, userP|
|00000a10| 72 65 66 73 48 61 6e 64 | 6c 65 2c 20 64 72 76 72 |refsHand|le, drvr|
|00000a20| 4e 61 6d 65 29 3b 0d 09 | 09 09 7d 0d 09 09 65 6c |Name);..|..}...el|
|00000a30| 73 65 09 2f 2f 20 4f 70 | 65 6e 20 44 72 69 76 65 |se.// Op|en Drive|
|00000a40| 72 20 66 61 69 6c 65 64 | 2e 2e 0d 09 09 09 7b 0d |r failed|......{.|
|00000a50| 09 09 09 09 69 63 6f 6e | 49 44 20 3d 20 45 72 72 |....icon|ID = Err|
|00000a60| 6f 72 49 63 6f 6e 49 44 | 3b 09 09 0d 09 09 09 09 |orIconID|;.......|
|00000a70| 49 6e 69 74 4e 6f 74 69 | 66 79 28 65 72 72 2c 30 |InitNoti|fy(err,0|
|00000a80| 29 3b 09 09 2f 2f 20 49 | 6e 73 74 61 6c 6c 20 53 |);..// I|nstall S|
|00000a90| 54 52 20 52 65 73 6f 75 | 72 63 65 20 49 44 20 30 |TR Resou|rce ID 0|
|00000aa0| 20 0d 09 09 09 7d 0d 09 | 09 44 69 73 70 6f 73 48 | ....}..|.DisposH|
|00000ab0| 61 6e 64 6c 65 28 28 48 | 61 6e 64 6c 65 29 20 75 |andle((H|andle) u|
|00000ac0| 73 65 72 50 72 65 66 73 | 48 61 6e 64 6c 65 29 3b |serPrefs|Handle);|
|00000ad0| 0d 09 09 7d 0d 09 2f 2a | 20 44 69 73 70 6c 61 79 |...}../*| Display|
|00000ae0| 20 53 68 6f 77 49 4e 49 | 54 20 69 63 6f 6e 20 2a | ShowINI|T icon *|
|00000af0| 2f 0d 0d 09 53 68 6f 77 | 49 4e 49 54 28 69 63 6f |/...Show|INIT(ico|
|00000b00| 6e 49 44 2c 20 2d 31 29 | 3b 20 2f 2a 20 55 73 65 |nID, -1)|; /* Use|
|00000b10| 20 6d 6f 76 65 58 20 3d | 20 2d 31 20 74 6f 20 6d | moveX =| -1 to m|
|00000b20| 6f 76 65 20 74 68 65 20 | 64 65 66 61 75 6c 74 20 |ove the |default |
|00000b30| 61 6d 6f 75 6e 74 20 2a | 2f 0d 09 09 0d 09 72 65 |amount *|/.....re|
|00000b40| 74 75 72 6e 3b 0d 0d 7d | 0d 0d 73 61 76 65 54 79 |turn;..}|..saveTy|
|00000b50| 70 65 48 61 6e 64 6c 65 | 20 47 65 74 55 73 65 72 |peHandle| GetUser|
|00000b60| 50 72 65 66 73 28 73 68 | 6f 72 74 20 70 72 65 66 |Prefs(sh|ort pref|
|00000b70| 73 56 6f 6c 52 65 66 2c | 20 48 61 6e 64 6c 65 20 |sVolRef,| Handle |
|00000b80| 2a 64 72 69 76 65 72 44 | 6f 74 4e 61 6d 65 29 0d |*driverD|otName).|
|00000b90| 7b 0d 72 65 67 69 73 74 | 65 72 20 73 61 76 65 54 |{.regist|er saveT|
|00000ba0| 79 70 65 48 61 6e 64 6c | 65 09 68 53 61 76 65 20 |ypeHandl|e.hSave |
|00000bb0| 3d 20 6e 69 6c 3b 0d 73 | 68 6f 72 74 20 50 72 65 |= nil;.s|hort Pre|
|00000bc0| 66 73 52 65 73 52 65 66 | 4e 75 6d 3b 0d 72 65 67 |fsResRef|Num;.reg|
|00000bd0| 69 73 74 65 72 20 73 68 | 6f 72 74 20 65 72 72 3b |ister sh|ort err;|
|00000be0| 0d 48 61 6e 64 6c 65 20 | 50 53 74 72 48 61 6e 64 |.Handle |PStrHand|
|00000bf0| 2c 20 74 61 72 67 65 74 | 41 70 70 4e 61 6d 65 3b |, target|AppName;|
|00000c00| 0d 0d 09 2a 64 72 69 76 | 65 72 44 6f 74 4e 61 6d |...*driv|erDotNam|
|00000c10| 65 20 3d 20 6e 69 6c 3b | 09 09 2f 2f 20 49 6e 20 |e = nil;|..// In |
|00000c20| 63 61 73 65 20 77 65 20 | 64 6f 6e 27 74 20 67 65 |case we |don't ge|
|00000c30| 74 20 61 20 63 68 61 6e | 63 65 20 74 6f 20 67 65 |t a chan|ce to ge|
|00000c40| 74 20 74 68 65 20 72 65 | 61 6c 20 6f 6e 65 2e 0d |t the re|al one..|
|00000c50| 09 0d 09 50 53 74 72 48 | 61 6e 64 20 3d 20 47 65 |...PStrH|and = Ge|
|00000c60| 74 52 65 73 6f 75 72 63 | 65 28 27 53 54 52 20 27 |tResourc|e('STR '|
|00000c70| 2c 20 2d 34 30 36 33 29 | 3b 09 09 2f 2f 20 47 65 |, -4063)|;..// Ge|
|00000c80| 74 20 6e 61 6d 65 20 6f | 66 20 50 72 65 66 2e 20 |t name o|f Pref. |
|00000c90| 66 69 6c 65 20 66 72 6f | 6d 20 77 69 74 68 69 6e |file fro|m within|
|00000ca0| 0d 09 69 66 20 28 50 53 | 74 72 48 61 6e 64 20 21 |..if (PS|trHand !|
|00000cb0| 3d 20 6e 69 6c 29 20 0d | 09 7b 0d 09 09 50 72 65 |= nil) .|.{...Pre|
|00000cc0| 66 73 52 65 73 52 65 66 | 4e 75 6d 20 3d 20 4f 70 |fsResRef|Num = Op|
|00000cd0| 65 6e 52 46 50 65 72 6d | 28 28 63 6f 6e 73 74 20 |enRFPerm|((const |
|00000ce0| 53 74 72 32 35 35 29 2a | 50 53 74 72 48 61 6e 64 |Str255)*|PStrHand|
|00000cf0| 2c 20 70 72 65 66 73 56 | 6f 6c 52 65 66 2c 20 66 |, prefsV|olRef, f|
|00000d00| 73 52 64 57 72 50 65 72 | 6d 29 3b 0d 09 09 65 72 |sRdWrPer|m);...er|
|00000d10| 72 20 3d 20 52 65 73 45 | 72 72 6f 72 28 29 3b 0d |r = ResE|rror();.|
|00000d20| 09 09 52 65 6c 65 61 73 | 65 52 65 73 6f 75 72 63 |..Releas|eResourc|
|00000d30| 65 28 50 53 74 72 48 61 | 6e 64 29 3b 0d 09 09 69 |e(PStrHa|nd);...i|
|00000d40| 66 20 28 65 72 72 20 3d | 3d 20 6e 6f 45 72 72 29 |f (err =|= noErr)|
|00000d50| 0d 09 09 7b 0d 09 09 09 | 68 53 61 76 65 20 3d 20 |...{....|hSave = |
|00000d60| 28 73 61 76 65 54 79 70 | 65 48 61 6e 64 6c 65 29 |(saveTyp|eHandle)|
|00000d70| 20 47 65 74 52 65 73 6f | 75 72 63 65 28 6b 50 72 | GetReso|urce(kPr|
|00000d80| 65 66 52 65 73 54 79 70 | 65 2c 20 6b 50 72 65 66 |efResTyp|e, kPref|
|00000d90| 52 65 73 49 44 29 3b 0d | 09 09 09 69 66 20 28 68 |ResID);.|...if (h|
|00000da0| 53 61 76 65 20 21 3d 20 | 6e 69 6c 29 20 0d 09 09 |Save != |nil) ...|
|00000db0| 09 09 44 65 74 61 63 68 | 52 65 73 6f 75 72 63 65 |..Detach|Resource|
|00000dc0| 28 28 48 61 6e 64 6c 65 | 29 68 53 61 76 65 29 3b |((Handle|)hSave);|
|00000dd0| 09 09 2f 2f 20 44 65 74 | 61 63 68 20 73 6f 20 77 |..// Det|ach so w|
|00000de0| 65 20 63 61 6e 20 63 6c | 6f 73 65 20 6e 6f 77 2e |e can cl|ose now.|
|00000df0| 2e 2e 0d 09 09 09 0d 09 | 09 09 74 61 72 67 65 74 |........|..target|
|00000e00| 41 70 70 4e 61 6d 65 20 | 3d 20 47 65 74 52 65 73 |AppName |= GetRes|
|00000e10| 6f 75 72 63 65 28 27 6b | 44 52 70 27 2c 20 31 32 |ource('k|DRp', 12|
|00000e20| 38 29 3b 0d 09 09 09 69 | 66 20 28 74 61 72 67 65 |8);....i|f (targe|
|00000e30| 74 41 70 70 4e 61 6d 65 | 20 21 3d 20 6e 69 6c 29 |tAppName| != nil)|
|00000e40| 20 0d 09 09 09 7b 0d 09 | 09 09 09 2a 64 72 69 76 | ....{..|...*driv|
|00000e50| 65 72 44 6f 74 4e 61 6d | 65 20 3d 20 47 65 74 54 |erDotNam|e = GetT|
|00000e60| 61 72 67 41 70 70 53 74 | 75 66 66 28 74 61 72 67 |argAppSt|uff(targ|
|00000e70| 65 74 41 70 70 4e 61 6d | 65 29 3b 0d 09 09 09 09 |etAppNam|e);.....|
|00000e80| 52 65 6c 65 61 73 65 52 | 65 73 6f 75 72 63 65 28 |ReleaseR|esource(|
|00000e90| 74 61 72 67 65 74 41 70 | 70 4e 61 6d 65 29 3b 0d |targetAp|pName);.|
|00000ea0| 09 09 09 7d 20 0d 09 09 | 09 0d 09 09 09 43 6c 6f |...} ...|.....Clo|
|00000eb0| 73 65 52 65 73 46 69 6c | 65 28 50 72 65 66 73 52 |seResFil|e(PrefsR|
|00000ec0| 65 73 52 65 66 4e 75 6d | 29 3b 0d 09 09 09 65 72 |esRefNum|);....er|
|00000ed0| 72 20 3d 20 52 65 73 45 | 72 72 6f 72 28 29 3b 0d |r = ResE|rror();.|
|00000ee0| 09 09 7d 20 0d 09 7d 0d | 09 72 65 74 75 72 6e 20 |..} ..}.|.return |
|00000ef0| 68 53 61 76 65 3b 09 09 | 2f 2f 20 4d 61 79 20 62 |hSave;..|// May b|
|00000f00| 65 20 6e 69 6c 2c 20 61 | 73 20 6d 69 67 68 74 20 |e nil, a|s might |
|00000f10| 2a 64 72 69 76 65 72 44 | 6f 74 4e 61 6d 65 0d 7d |*driverD|otName.}|
|00000f20| 0d 0d 48 61 6e 64 6c 65 | 20 47 65 74 54 61 72 67 |..Handle| GetTarg|
|00000f30| 41 70 70 53 74 75 66 66 | 28 48 61 6e 64 6c 65 20 |AppStuff|(Handle |
|00000f40| 74 61 72 67 65 74 41 70 | 70 4e 61 6d 65 29 0d 7b |targetAp|pName).{|
|00000f50| 0d 73 68 6f 72 74 20 69 | 6e 66 6f 46 69 6c 65 52 |.short i|nfoFileR|
|00000f60| 65 66 4e 75 6d 2c 20 65 | 72 72 3b 0d 48 61 6e 64 |efNum, e|rr;.Hand|
|00000f70| 6c 65 20 64 72 69 76 65 | 72 44 6f 74 4e 61 6d 65 |le drive|rDotName|
|00000f80| 20 3d 20 6e 69 6c 3b 0d | 0d 09 69 66 20 28 74 61 | = nil;.|..if (ta|
|00000f90| 72 67 65 74 41 70 70 4e | 61 6d 65 20 21 3d 20 6e |rgetAppN|ame != n|
|00000fa0| 69 6c 29 0d 09 7b 0d 09 | 09 48 4c 6f 63 6b 28 74 |il)..{..|.HLock(t|
|00000fb0| 61 72 67 65 74 41 70 70 | 4e 61 6d 65 29 3b 0d 0d |argetApp|Name);..|
|00000fc0| 09 09 69 6e 66 6f 46 69 | 6c 65 52 65 66 4e 75 6d |..infoFi|leRefNum|
|00000fd0| 20 3d 20 4f 70 65 6e 52 | 46 50 65 72 6d 28 2a 74 | = OpenR|FPerm(*t|
|00000fe0| 61 72 67 65 74 41 70 70 | 4e 61 6d 65 2c 20 47 65 |argetApp|Name, Ge|
|00000ff0| 74 46 6f 6c 64 65 72 56 | 6f 6c 28 6b 53 79 73 74 |tFolderV|ol(kSyst|
|00001000| 65 6d 46 6f 6c 64 65 72 | 54 79 70 65 29 2c 20 66 |emFolder|Type), f|
|00001010| 73 52 64 57 72 50 65 72 | 6d 29 3b 0d 09 09 69 66 |sRdWrPer|m);...if|
|00001020| 20 28 69 6e 66 6f 46 69 | 6c 65 52 65 66 4e 75 6d | (infoFi|leRefNum|
|00001030| 20 3d 3d 20 2d 31 29 20 | 0d 09 09 69 6e 66 6f 46 | == -1) |...infoF|
|00001040| 69 6c 65 52 65 66 4e 75 | 6d 20 3d 20 4f 70 65 6e |ileRefNu|m = Open|
|00001050| 52 46 50 65 72 6d 28 2a | 74 61 72 67 65 74 41 70 |RFPerm(*|targetAp|
|00001060| 70 4e 61 6d 65 2c 20 47 | 65 74 46 6f 6c 64 65 72 |pName, G|etFolder|
|00001070| 56 6f 6c 28 6b 45 78 74 | 65 6e 73 69 6f 6e 46 6f |Vol(kExt|ensionFo|
|00001080| 6c 64 65 72 54 79 70 65 | 29 2c 20 66 73 52 64 57 |lderType|), fsRdW|
|00001090| 72 50 65 72 6d 29 3b 0d | 09 09 69 66 20 28 69 6e |rPerm);.|..if (in|
|000010a0| 66 6f 46 69 6c 65 52 65 | 66 4e 75 6d 20 3d 3d 20 |foFileRe|fNum == |
|000010b0| 2d 31 29 20 0d 09 09 69 | 6e 66 6f 46 69 6c 65 52 |-1) ...i|nfoFileR|
|000010c0| 65 66 4e 75 6d 20 3d 20 | 4f 70 65 6e 52 46 50 65 |efNum = |OpenRFPe|
|000010d0| 72 6d 28 2a 74 61 72 67 | 65 74 41 70 70 4e 61 6d |rm(*targ|etAppNam|
|000010e0| 65 2c 20 47 65 74 46 6f | 6c 64 65 72 56 6f 6c 28 |e, GetFo|lderVol(|
|000010f0| 6b 43 6f 6e 74 72 6f 6c | 50 61 6e 65 6c 46 6f 6c |kControl|PanelFol|
|00001100| 64 65 72 54 79 70 65 29 | 2c 20 66 73 52 64 57 72 |derType)|, fsRdWr|
|00001110| 50 65 72 6d 29 3b 0d 09 | 09 48 55 6e 6c 6f 63 6b |Perm);..|.HUnlock|
|00001120| 28 74 61 72 67 65 74 41 | 70 70 4e 61 6d 65 29 3b |(targetA|ppName);|
|00001130| 0d 09 09 65 72 72 20 3d | 20 52 65 73 45 72 72 6f |...err =| ResErro|
|00001140| 72 28 29 3b 0d 09 09 69 | 66 20 28 65 72 72 20 3d |r();...i|f (err =|
|00001150| 3d 20 6e 6f 45 72 72 29 | 0d 09 09 7b 0d 09 09 09 |= noErr)|...{....|
|00001160| 2f 2f 20 47 65 74 20 44 | 6f 74 44 72 69 76 65 72 |// Get D|otDriver|
|00001170| 4e 61 6d 65 20 2d 2d 20 | 65 67 20 20 22 2e 41 53 |Name -- |eg ".AS|
|00001180| 4e 41 22 0d 09 0d 09 09 | 09 64 72 69 76 65 72 44 |NA".....|.driverD|
|00001190| 6f 74 4e 61 6d 65 20 3d | 20 47 65 74 52 65 73 6f |otName =| GetReso|
|000011a0| 75 72 63 65 28 27 44 72 | 76 4e 27 2c 20 31 32 38 |urce('Dr|vN', 128|
|000011b0| 29 3b 0d 09 09 09 65 72 | 72 20 3d 20 52 65 73 45 |);....er|r = ResE|
|000011c0| 72 72 6f 72 28 29 3b 0d | 09 09 09 69 66 20 28 64 |rror();.|...if (d|
|000011d0| 72 69 76 65 72 44 6f 74 | 4e 61 6d 65 20 21 3d 20 |riverDot|Name != |
|000011e0| 6e 69 6c 29 20 0d 09 09 | 09 7b 09 0d 09 09 09 09 |nil) ...|.{......|
|000011f0| 44 65 74 61 63 68 52 65 | 73 6f 75 72 63 65 28 64 |DetachRe|source(d|
|00001200| 72 69 76 65 72 44 6f 74 | 4e 61 6d 65 29 3b 0d 09 |riverDot|Name);..|
|00001210| 09 09 7d 0d 09 09 09 65 | 6c 73 65 20 0d 09 09 09 |..}....e|lse ....|
|00001220| 7b 0d 09 09 09 09 2f 2f | 20 6e 69 6c 20 77 69 6c |{.....//| nil wil|
|00001230| 6c 20 62 65 20 72 65 74 | 75 72 6e 65 64 2e 2e 2e |l be ret|urned...|
|00001240| 20 77 68 69 63 68 20 69 | 73 20 6f 6b 61 79 0d 09 | which i|s okay..|
|00001250| 09 09 7d 0d 0d 09 09 09 | 43 6c 6f 73 65 52 65 73 |..}.....|CloseRes|
|00001260| 46 69 6c 65 28 69 6e 66 | 6f 46 69 6c 65 52 65 66 |File(inf|oFileRef|
|00001270| 4e 75 6d 29 3b 0d 09 09 | 09 65 72 72 20 3d 20 52 |Num);...|.err = R|
|00001280| 65 73 45 72 72 6f 72 28 | 29 3b 0d 09 09 7d 20 0d |esError(|);...} .|
|00001290| 09 7d 0d 09 72 65 74 75 | 72 6e 20 64 72 69 76 65 |.}..retu|rn drive|
|000012a0| 72 44 6f 74 4e 61 6d 65 | 3b 0d 09 0d 7d 0d 0d 73 |rDotName|;...}..s|
|000012b0| 74 61 74 69 63 20 76 6f | 69 64 20 41 70 70 65 6e |tatic vo|id Appen|
|000012c0| 64 28 63 68 61 72 20 2a | 70 73 74 72 2c 20 63 68 |d(char *|pstr, ch|
|000012d0| 61 72 20 2a 61 64 64 73 | 74 72 2c 20 73 68 6f 72 |ar *adds|tr, shor|
|000012e0| 74 20 61 64 64 6c 65 6e | 29 0d 7b 0d 09 72 65 67 |t addlen|).{..reg|
|000012f0| 69 73 74 65 72 20 73 68 | 6f 72 74 20 70 6c 65 6e |ister sh|ort plen|
|00001300| 3b 0d 09 0d 09 70 6c 65 | 6e 20 3d 20 2a 70 73 74 |;....ple|n = *pst|
|00001310| 72 3b 0d 09 0d 09 69 66 | 20 28 28 61 64 64 6c 65 |r;....if| ((addle|
|00001320| 6e 20 2b 20 70 6c 65 6e | 29 20 3e 20 32 35 35 29 |n + plen|) > 255)|
|00001330| 0d 09 09 61 64 64 6c 65 | 6e 20 3d 20 32 35 35 20 |...addle|n = 255 |
|00001340| 2d 20 70 6c 65 6e 3b 0d | 09 0d 09 42 6c 6f 63 6b |- plen;.|...Block|
|00001350| 4d 6f 76 65 28 28 63 68 | 61 72 20 2a 29 20 61 64 |Move((ch|ar *) ad|
|00001360| 64 73 74 72 2c 20 28 63 | 68 61 72 20 2a 29 20 28 |dstr, (c|har *) (|
|00001370| 70 73 74 72 20 2b 20 70 | 6c 65 6e 20 2b 20 31 29 |pstr + p|len + 1)|
|00001380| 2c 20 61 64 64 6c 65 6e | 29 3b 0d 09 0d 09 2a 70 |, addlen|);....*p|
|00001390| 73 74 72 20 2b 3d 20 61 | 64 64 6c 65 6e 3b 0d 09 |str += a|ddlen;..|
|000013a0| 0d 09 72 65 74 75 72 6e | 3b 09 0d 09 0d 7d 0d 0d |..return|;....}..|
|000013b0| 76 6f 69 64 20 49 6e 69 | 74 4e 6f 74 69 66 79 28 |void Ini|tNotify(|
|000013c0| 73 68 6f 72 74 20 65 72 | 72 2c 20 73 68 6f 72 74 |short er|r, short|
|000013d0| 20 52 65 73 6f 75 72 63 | 65 49 44 29 0d 7b 0d 4e | Resourc|eID).{.N|
|000013e0| 4d 52 65 63 20 2a 72 65 | 63 50 74 72 3b 0d 63 68 |MRec *re|cPtr;.ch|
|000013f0| 61 72 20 2a 65 72 72 73 | 74 72 3b 0d 72 65 67 69 |ar *errs|tr;.regi|
|00001400| 73 74 65 72 20 63 68 61 | 72 20 2a 6e 3b 0d 73 68 |ster cha|r *n;.sh|
|00001410| 6f 72 74 20 6e 75 6d 6c | 65 6e 3b 0d 42 6f 6f 6c |ort numl|en;.Bool|
|00001420| 65 61 6e 20 73 68 6f 77 | 7a 65 72 6f 3b 0d 63 68 |ean show|zero;.ch|
|00001430| 61 72 20 6e 75 6d 73 74 | 72 5b 33 32 5d 3b 0d 73 |ar numst|r[32];.s|
|00001440| 68 6f 72 74 20 64 65 63 | 2c 20 64 69 67 69 74 3b |hort dec|, digit;|
|00001450| 0d 73 68 6f 72 74 20 77 | 6f 72 6b 3b 0d 48 61 6e |.short w|ork;.Han|
|00001460| 64 6c 65 20 73 74 72 48 | 61 6e 64 6c 65 3b 0d 63 |dle strH|andle;.c|
|00001470| 68 61 72 20 2a 73 75 62 | 31 3b 0d 63 68 61 72 20 |har *sub|1;.char |
|00001480| 2a 73 75 62 32 3b 0d 73 | 68 6f 72 74 20 73 75 62 |*sub2;.s|hort sub|
|00001490| 31 6c 65 6e 3b 0d 73 68 | 6f 72 74 20 73 75 62 32 |1len;.sh|ort sub2|
|000014a0| 6c 65 6e 3b 0d 09 0d 09 | 0d 09 2f 2a 20 41 6c 6c |len;....|../* All|
|000014b0| 6f 63 61 74 65 20 61 20 | 72 65 63 6f 72 64 20 6f |ocate a |record o|
|000014c0| 6e 20 74 68 65 20 73 79 | 73 74 65 6d 20 68 65 61 |n the sy|stem hea|
|000014d0| 70 20 74 6f 20 63 6f 6e | 74 61 69 6e 20 62 6f 74 |p to con|tain bot|
|000014e0| 68 20 74 68 65 20 6e 6f | 74 69 66 69 63 61 74 69 |h the no|tificati|
|000014f0| 6f 6e 20 2a 2f 0d 09 2f | 2a 20 6d 61 6e 61 67 65 |on */../|* manage|
|00001500| 72 20 72 65 63 6f 72 64 | 20 61 6e 64 20 74 68 65 |r record| and the|
|00001510| 20 65 72 72 6f 72 20 73 | 74 72 69 6e 67 3a 20 2a | error s|tring: *|
|00001520| 2f 0d 09 0d 09 72 65 63 | 50 74 72 20 3d 20 28 4e |/....rec|Ptr = (N|
|00001530| 4d 52 65 63 20 2a 29 20 | 4e 65 77 50 74 72 53 79 |MRec *) |NewPtrSy|
|00001540| 73 28 73 69 7a 65 6f 66 | 28 4e 4d 52 65 63 29 20 |s(sizeof|(NMRec) |
|00001550| 2b 20 32 35 36 29 3b 0d | 09 0d 09 69 66 20 28 72 |+ 256);.|...if (r|
|00001560| 65 63 50 74 72 20 21 3d | 20 28 4e 4d 52 65 63 20 |ecPtr !=| (NMRec |
|00001570| 2a 29 20 30 29 0d 09 09 | 7b 0d 0d 09 09 2f 2a 20 |*) 0)...|{..../* |
|00001580| 47 65 6e 65 72 61 74 65 | 20 61 20 73 74 72 69 6e |Generate| a strin|
|00001590| 67 20 63 6f 6e 74 61 69 | 6e 69 6e 67 20 74 68 65 |g contai|ning the|
|000015a0| 20 65 72 72 6f 72 20 63 | 6f 64 65 20 28 73 69 67 | error c|ode (sig|
|000015b0| 6e 65 64 29 3a 20 2a 2f | 0d 09 09 0d 09 09 6e 20 |ned): */|......n |
|000015c0| 3d 20 6e 75 6d 73 74 72 | 3b 0d 09 09 6e 75 6d 6c |= numstr|;...numl|
|000015d0| 65 6e 20 3d 20 30 3b 0d | 09 09 77 6f 72 6b 20 3d |en = 0;.|..work =|
|000015e0| 20 65 72 72 3b 0d 09 09 | 69 66 20 28 77 6f 72 6b | err;...|if (work|
|000015f0| 20 3c 20 30 29 0d 09 09 | 09 7b 0d 09 09 09 2a 6e | < 0)...|.{....*n|
|00001600| 2b 2b 20 3d 20 27 2d 27 | 3b 0d 09 09 09 6e 75 6d |++ = '-'|;....num|
|00001610| 6c 65 6e 2b 2b 3b 0d 09 | 09 09 77 6f 72 6b 20 3d |len++;..|..work =|
|00001620| 20 28 2d 77 6f 72 6b 29 | 3b 0d 09 09 09 7d 0d 09 | (-work)|;....}..|
|00001630| 09 64 65 63 20 3d 20 31 | 30 30 30 30 3b 0d 09 09 |.dec = 1|0000;...|
|00001640| 73 68 6f 77 7a 65 72 6f | 20 3d 20 66 61 6c 73 65 |showzero| = false|
|00001650| 3b 0d 09 09 77 68 69 6c | 65 20 28 64 65 63 20 3e |;...whil|e (dec >|
|00001660| 20 30 29 0d 09 09 09 7b | 0d 09 09 09 64 69 67 69 | 0)....{|....digi|
|00001670| 74 20 3d 20 77 6f 72 6b | 20 2f 20 64 65 63 3b 0d |t = work| / dec;.|
|00001680| 09 09 09 77 6f 72 6b 20 | 3d 20 77 6f 72 6b 20 25 |...work |= work %|
|00001690| 20 64 65 63 3b 0d 09 09 | 09 69 66 20 28 28 64 69 | dec;...|.if ((di|
|000016a0| 67 69 74 20 21 3d 20 30 | 29 20 7c 7c 20 73 68 6f |git != 0|) || sho|
|000016b0| 77 7a 65 72 6f 29 0d 09 | 09 09 09 7b 0d 09 09 09 |wzero)..|...{....|
|000016c0| 09 73 68 6f 77 7a 65 72 | 6f 20 3d 20 74 72 75 65 |.showzer|o = true|
|000016d0| 3b 0d 09 09 09 09 2a 6e | 2b 2b 20 3d 20 64 69 67 |;.....*n|++ = dig|
|000016e0| 69 74 20 2b 20 27 30 27 | 3b 0d 09 09 09 09 6e 75 |it + '0'|;.....nu|
|000016f0| 6d 6c 65 6e 2b 2b 3b 0d | 09 09 09 09 7d 0d 09 09 |mlen++;.|....}...|
|00001700| 09 69 66 20 28 64 65 63 | 20 3e 20 31 29 0d 09 09 |.if (dec| > 1)...|
|00001710| 09 09 64 65 63 20 3d 20 | 64 65 63 20 2f 20 31 30 |..dec = |dec / 10|
|00001720| 3b 0d 09 09 09 65 6c 73 | 65 0d 09 09 09 09 64 65 |;....els|e.....de|
|00001730| 63 20 3d 20 30 3b 0d 09 | 09 09 7d 0d 09 09 0d 09 |c = 0;..|..}.....|
|00001740| 09 2f 2a 20 47 65 74 20 | 74 68 65 20 73 74 72 69 |./* Get |the stri|
|00001750| 6e 67 20 72 65 73 6f 75 | 72 63 65 20 66 6f 72 20 |ng resou|rce for |
|00001760| 74 68 65 20 6e 6f 74 69 | 66 69 63 61 74 69 6f 6e |the noti|fication|
|00001770| 20 6d 65 73 73 61 67 65 | 20 28 27 53 54 52 20 27 | message| ('STR '|
|00001780| 3d 30 29 20 2a 2f 0d 09 | 09 2f 2a 20 61 6e 64 20 |=0) */..|./* and |
|00001790| 63 6f 70 79 20 69 74 20 | 69 6e 74 6f 20 74 68 65 |copy it |into the|
|000017a0| 20 61 6c 6c 6f 63 61 74 | 65 64 20 6d 65 6d 6f 72 | allocat|ed memor|
|000017b0| 79 2c 20 61 6c 6f 6e 67 | 20 77 69 74 68 20 74 68 |y, along| with th|
|000017c0| 65 20 65 72 72 6f 72 20 | 63 6f 64 65 20 2a 2f 0d |e error |code */.|
|000017d0| 09 09 2f 2a 20 73 74 72 | 69 6e 67 2e 20 20 54 68 |../* str|ing. Th|
|000017e0| 65 20 65 72 72 6f 72 20 | 63 6f 64 65 20 73 74 72 |e error |code str|
|000017f0| 69 6e 67 20 69 73 20 69 | 6e 73 65 72 74 65 64 20 |ing is i|nserted |
|00001800| 69 6e 20 74 68 65 20 6d | 65 73 73 61 67 65 20 73 |in the m|essage s|
|00001810| 74 72 69 6e 67 20 2a 2f | 0d 09 09 2f 2a 20 77 68 |tring */|.../* wh|
|00001820| 65 72 65 20 74 68 65 20 | 66 69 72 73 74 20 27 25 |ere the |first '%|
|00001830| 27 20 63 68 61 72 61 63 | 74 65 72 20 69 73 20 66 |' charac|ter is f|
|00001840| 6f 75 6e 64 2e 20 2a 2f | 0d 0d 09 09 65 72 72 73 |ound. */|....errs|
|00001850| 74 72 20 3d 20 28 28 63 | 68 61 72 20 2a 29 20 72 |tr = ((c|har *) r|
|00001860| 65 63 50 74 72 29 20 2b | 20 73 69 7a 65 6f 66 28 |ecPtr) +| sizeof(|
|00001870| 4e 4d 52 65 63 29 3b 0d | 09 09 2a 65 72 72 73 74 |NMRec);.|..*errst|
|00001880| 72 20 3d 20 30 3b 0d 09 | 09 09 0d 09 09 73 74 72 |r = 0;..|.....str|
|00001890| 48 61 6e 64 6c 65 20 3d | 20 47 65 74 52 65 73 6f |Handle =| GetReso|
|000018a0| 75 72 63 65 28 27 53 54 | 52 20 27 2c 20 52 65 73 |urce('ST|R ', Res|
|000018b0| 6f 75 72 63 65 49 44 29 | 3b 0d 09 09 0d 09 09 69 |ourceID)|;......i|
|000018c0| 66 20 28 73 74 72 48 61 | 6e 64 6c 65 20 21 3d 20 |f (strHa|ndle != |
|000018d0| 6e 69 6c 29 0d 09 09 09 | 7b 0d 09 09 09 0d 09 09 |nil)....|{.......|
|000018e0| 09 48 4c 6f 63 6b 28 73 | 74 72 48 61 6e 64 6c 65 |.HLock(s|trHandle|
|000018f0| 29 3b 0d 09 09 09 0d 09 | 09 09 2f 2a 20 4c 6f 63 |);......|../* Loc|
|00001900| 61 74 65 20 74 68 65 20 | 27 25 27 20 63 68 61 72 |ate the |'%' char|
|00001910| 61 63 74 65 72 2c 20 69 | 66 20 61 6e 79 3a 20 2a |acter, i|f any: *|
|00001920| 2f 0d 09 09 09 0d 09 09 | 09 73 75 62 31 20 3d 20 |/.......|.sub1 = |
|00001930| 28 63 68 61 72 20 2a 29 | 20 2a 73 74 72 48 61 6e |(char *)| *strHan|
|00001940| 64 6c 65 3b 0d 09 09 09 | 73 75 62 32 20 3d 20 73 |dle;....|sub2 = s|
|00001950| 75 62 31 3b 0d 09 09 09 | 73 75 62 31 6c 65 6e 20 |ub1;....|sub1len |
|00001960| 3d 20 2a 73 75 62 31 2b | 2b 3b 0d 09 09 09 73 75 |= *sub1+|+;....su|
|00001970| 62 32 6c 65 6e 20 3d 20 | 73 75 62 31 6c 65 6e 3b |b2len = |sub1len;|
|00001980| 0d 09 09 09 69 66 20 28 | 73 75 62 31 6c 65 6e 20 |....if (|sub1len |
|00001990| 3e 20 30 29 0d 09 09 09 | 09 73 75 62 32 2b 2b 3b |> 0)....|.sub2++;|
|000019a0| 0d 0d 09 09 09 77 68 69 | 6c 65 20 28 28 2a 73 75 |.....whi|le ((*su|
|000019b0| 62 32 20 21 3d 20 27 25 | 27 29 20 26 26 20 28 73 |b2 != '%|') && (s|
|000019c0| 75 62 32 6c 65 6e 20 3e | 20 30 29 29 0d 09 09 09 |ub2len >| 0))....|
|000019d0| 09 7b 0d 09 09 09 09 73 | 75 62 32 2b 2b 3b 0d 09 |.{.....s|ub2++;..|
|000019e0| 09 09 09 73 75 62 32 6c | 65 6e 2d 2d 3b 0d 09 09 |...sub2l|en--;...|
|000019f0| 09 09 7d 0d 09 09 09 69 | 66 20 28 73 75 62 32 6c |..}....i|f (sub2l|
|00001a00| 65 6e 20 3e 20 30 29 0d | 09 09 09 09 7b 0d 09 09 |en > 0).|....{...|
|00001a10| 09 09 73 75 62 32 2b 2b | 3b 20 2f 2a 20 6d 6f 76 |..sub2++|; /* mov|
|00001a20| 65 20 70 61 73 74 20 27 | 25 27 20 69 66 20 66 6f |e past '|%' if fo|
|00001a30| 75 6e 64 20 2a 2f 0d 09 | 09 09 09 73 75 62 32 6c |und */..|...sub2l|
|00001a40| 65 6e 2d 2d 3b 0d 09 09 | 09 09 73 75 62 31 6c 65 |en--;...|..sub1le|
|00001a50| 6e 20 2d 3d 20 73 75 62 | 32 6c 65 6e 3b 0d 09 09 |n -= sub|2len;...|
|00001a60| 09 09 73 75 62 31 6c 65 | 6e 2d 2d 3b 0d 09 09 09 |..sub1le|n--;....|
|00001a70| 09 7d 0d 09 09 09 0d 09 | 09 09 2f 2a 20 42 75 69 |.}......|../* Bui|
|00001a80| 6c 64 20 74 68 65 20 65 | 72 72 6f 72 20 73 74 72 |ld the e|rror str|
|00001a90| 69 6e 67 20 2a 2f 0d 09 | 09 09 0d 09 09 09 41 70 |ing */..|......Ap|
|00001aa0| 70 65 6e 64 28 65 72 72 | 73 74 72 2c 20 73 75 62 |pend(err|str, sub|
|00001ab0| 31 2c 20 73 75 62 31 6c | 65 6e 29 3b 0d 09 09 09 |1, sub1l|en);....|
|00001ac0| 41 70 70 65 6e 64 28 65 | 72 72 73 74 72 2c 20 6e |Append(e|rrstr, n|
|00001ad0| 75 6d 73 74 72 2c 20 6e | 75 6d 6c 65 6e 29 3b 0d |umstr, n|umlen);.|
|00001ae0| 09 09 09 41 70 70 65 6e | 64 28 65 72 72 73 74 72 |...Appen|d(errstr|
|00001af0| 2c 20 73 75 62 32 2c 20 | 73 75 62 32 6c 65 6e 29 |, sub2, |sub2len)|
|00001b00| 3b 0d 0d 09 09 09 2f 2a | 20 52 65 6c 65 61 73 65 |;...../*| Release|
|00001b10| 20 74 68 65 20 73 74 72 | 69 6e 67 20 72 65 73 6f | the str|ing reso|
|00001b20| 75 72 63 65 20 2a 2f 0d | 09 09 09 0d 09 09 09 52 |urce */.|.......R|
|00001b30| 65 6c 65 61 73 65 52 65 | 73 6f 75 72 63 65 28 73 |eleaseRe|source(s|
|00001b40| 74 72 48 61 6e 64 6c 65 | 29 3b 0d 09 09 09 0d 09 |trHandle|);......|
|00001b50| 09 09 7d 0d 09 09 0d 09 | 09 2f 2a 20 53 65 65 20 |..}.....|./* See |
|00001b60| 69 66 20 74 68 65 72 65 | 20 69 73 20 61 6e 20 61 |if there| is an a|
|00001b70| 64 64 69 74 69 6f 6e 61 | 6c 20 73 74 72 69 6e 67 |dditiona|l string|
|00001b80| 20 72 65 73 6f 75 72 63 | 65 20 66 6f 72 20 74 68 | resourc|e for th|
|00001b90| 69 73 20 65 72 72 6f 72 | 3a 20 2a 2f 0d 09 09 0d |is error|: */....|
|00001ba0| 09 09 73 74 72 48 61 6e | 64 6c 65 20 3d 20 47 65 |..strHan|dle = Ge|
|00001bb0| 74 52 65 73 6f 75 72 63 | 65 28 27 53 54 52 20 27 |tResourc|e('STR '|
|00001bc0| 2c 20 28 2d 65 72 72 29 | 29 3b 20 2f 2a 20 55 73 |, (-err)|); /* Us|
|00001bd0| 65 20 61 62 73 6f 6c 75 | 74 65 20 76 61 6c 75 65 |e absolu|te value|
|00001be0| 20 6f 66 20 65 72 72 6f | 72 20 2a 2f 0d 09 09 0d | of erro|r */....|
|00001bf0| 09 09 69 66 20 28 73 74 | 72 48 61 6e 64 6c 65 20 |..if (st|rHandle |
|00001c00| 21 3d 20 6e 69 6c 29 0d | 09 09 09 7b 0d 09 09 09 |!= nil).|...{....|
|00001c10| 48 4c 6f 63 6b 28 73 74 | 72 48 61 6e 64 6c 65 29 |HLock(st|rHandle)|
|00001c20| 3b 0d 09 09 09 0d 09 09 | 09 41 70 70 65 6e 64 28 |;.......|.Append(|
|00001c30| 65 72 72 73 74 72 2c 20 | 28 63 68 61 72 20 2a 29 |errstr, |(char *)|
|00001c40| 20 28 28 2a 73 74 72 48 | 61 6e 64 6c 65 29 20 2b | ((*strH|andle) +|
|00001c50| 20 31 29 2c 20 2a 2a 73 | 74 72 48 61 6e 64 6c 65 | 1), **s|trHandle|
|00001c60| 29 3b 0d 0d 09 09 09 52 | 65 6c 65 61 73 65 52 65 |);.....R|eleaseRe|
|00001c70| 73 6f 75 72 63 65 28 73 | 74 72 48 61 6e 64 6c 65 |source(s|trHandle|
|00001c80| 29 3b 0d 0d 09 09 09 7d | 0d 0d 09 09 0d 09 09 2f |);.....}|......./|
|00001c90| 2a 20 42 75 69 6c 64 20 | 74 68 65 20 6e 6f 74 69 |* Build |the noti|
|00001ca0| 66 69 63 61 74 69 6f 6e | 20 72 65 63 6f 72 64 20 |fication| record |
|00001cb0| 61 6e 64 20 69 6e 73 74 | 61 6c 6c 20 69 74 3a 20 |and inst|all it: |
|00001cc0| 2a 2f 0d 09 09 2f 2a 20 | 4e 4f 54 45 3a 20 54 68 |*/.../* |NOTE: Th|
|00001cd0| 65 20 6d 65 6d 6f 72 79 | 20 62 6c 6f 63 6b 20 77 |e memory| block w|
|00001ce0| 69 6c 6c 20 62 65 20 6c | 65 66 74 20 61 62 61 6e |ill be l|eft aban|
|00001cf0| 64 6f 6e 65 64 20 6f 6e | 20 74 68 65 20 53 79 73 |doned on| the Sys|
|00001d00| 74 65 6d 20 48 65 61 70 | 21 21 21 20 2a 2f 0d 09 |tem Heap|!!! */..|
|00001d10| 09 0d 09 09 69 66 20 28 | 2a 65 72 72 73 74 72 20 |....if (|*errstr |
|00001d20| 21 3d 20 30 29 0d 09 09 | 09 7b 0d 09 09 09 72 65 |!= 0)...|.{....re|
|00001d30| 63 50 74 72 2d 3e 71 54 | 79 70 65 20 3d 20 28 73 |cPtr->qT|ype = (s|
|00001d40| 68 6f 72 74 29 20 6e 6d | 54 79 70 65 3b 0d 09 09 |hort) nm|Type;...|
|00001d50| 09 72 65 63 50 74 72 2d | 3e 6e 6d 4d 61 72 6b 20 |.recPtr-|>nmMark |
|00001d60| 3d 20 28 73 68 6f 72 74 | 29 20 30 3b 0d 09 09 09 |= (short|) 0;....|
|00001d70| 72 65 63 50 74 72 2d 3e | 6e 6d 49 63 6f 6e 20 3d |recPtr->|nmIcon =|
|00001d80| 20 28 48 61 6e 64 6c 65 | 29 20 6e 69 6c 3b 09 2f | (Handle|) nil;./|
|00001d90| 2f 20 46 6f 72 6d 65 72 | 6c 79 20 6e 6d 53 49 63 |/ Former|ly nmSIc|
|00001da0| 6f 6e 0d 09 09 09 72 65 | 63 50 74 72 2d 3e 6e 6d |on....re|cPtr->nm|
|00001db0| 53 6f 75 6e 64 20 3d 20 | 28 48 61 6e 64 6c 65 29 |Sound = |(Handle)|
|00001dc0| 20 2d 31 3b 0d 09 09 09 | 72 65 63 50 74 72 2d 3e | -1;....|recPtr->|
|00001dd0| 6e 6d 53 74 72 20 3d 20 | 28 53 74 72 69 6e 67 50 |nmStr = |(StringP|
|00001de0| 74 72 29 20 65 72 72 73 | 74 72 3b 0d 09 09 09 72 |tr) errs|tr;....r|
|00001df0| 65 63 50 74 72 2d 3e 6e | 6d 52 65 73 70 20 3d 20 |ecPtr->n|mResp = |
|00001e00| 28 4e 4d 50 72 6f 63 50 | 74 72 29 20 2d 31 3b 0d |(NMProcP|tr) -1;.|
|00001e10| 09 09 09 72 65 63 50 74 | 72 2d 3e 6e 6d 52 65 66 |...recPt|r->nmRef|
|00001e20| 43 6f 6e 20 3d 20 28 6c | 6f 6e 67 29 20 30 3b 0d |Con = (l|ong) 0;.|
|00001e30| 09 09 09 0d 09 09 09 28 | 76 6f 69 64 29 20 4e 4d |.......(|void) NM|
|00001e40| 49 6e 73 74 61 6c 6c 28 | 72 65 63 50 74 72 29 3b |Install(|recPtr);|
|00001e50| 0d 09 09 09 7d 0d 09 09 | 7d 0d 09 0d 09 72 65 74 |....}...|}....ret|
|00001e60| 75 72 6e 3b 0d 09 0d 7d | 0d 0d 2f 2f 20 54 68 65 |urn;...}|..// The|
|00001e70| 73 65 20 72 6f 75 74 69 | 6e 65 73 20 77 65 72 65 |se routi|nes were|
|00001e80| 20 74 61 6b 65 6e 20 66 | 72 6f 6d 20 54 69 6d 20 | taken f|rom Tim |
|00001e90| 45 6e 77 61 6c 6c 27 73 | 20 69 61 63 44 72 69 76 |Enwall's| iacDriv|
|00001ea0| 65 72 20 69 6e 20 64 65 | 76 65 6c 6f 70 2e 0d 0d |er in de|velop...|
|00001eb0| 2f 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |/*******|********|
|00001ec0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001ed0| 2a 2a 2a 43 6f 6d 6d 65 | 6e 74 2a 2a 2a 2a 2a 2a |***Comme|nt******|
|00001ee0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001ef0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001f00| 2a 2a 2a 0d 20 2a 20 6c | 6f 6f 6b 46 6f 72 53 6c |***. * l|ookForSl|
|00001f10| 6f 74 49 6e 55 6e 69 74 | 54 61 62 6c 65 20 72 65 |otInUnit|Table re|
|00001f20| 74 75 72 6e 73 20 61 20 | 73 68 6f 72 74 20 63 6f |turns a |short co|
|00001f30| 72 72 65 73 70 6f 6e 64 | 69 6e 67 20 74 6f 20 61 |rrespond|ing to a|
|00001f40| 20 76 61 6c 69 64 20 22 | 73 6c 6f 74 22 20 6e 75 | valid "|slot" nu|
|00001f50| 6d 62 65 72 2e 20 20 49 | 74 27 6c 6c 0d 20 72 61 |mber. I|t'll. ra|
|00001f60| 6e 67 65 20 66 72 6f 6d | 20 34 38 20 74 6f 20 55 |nge from| 48 to U|
|00001f70| 6e 69 74 4e 54 72 79 43 | 6e 74 2e 20 20 49 66 20 |nitNTryC|nt. If |
|00001f80| 74 68 65 72 65 20 61 72 | 65 20 6e 6f 20 73 6c 6f |there ar|e no slo|
|00001f90| 74 73 20 61 76 61 69 6c | 61 62 6c 65 20 69 74 20 |ts avail|able it |
|00001fa0| 72 65 74 75 72 6e 73 20 | 30 2e 20 20 45 73 73 65 |returns |0. Esse|
|00001fb0| 6e 74 69 61 6c 6c 79 20 | 77 68 61 74 0d 20 77 65 |ntially |what. we|
|00001fc0| 27 72 65 20 64 6f 69 6e | 67 20 68 65 72 65 20 69 |'re doin|g here i|
|00001fd0| 73 20 73 74 61 72 74 69 | 6e 67 20 61 74 20 74 68 |s starti|ng at th|
|00001fe0| 65 20 45 4e 44 20 6f 66 | 20 74 68 65 20 55 6e 69 |e END of| the Uni|
|00001ff0| 74 54 61 62 6c 65 2c 20 | 74 65 73 74 69 6e 67 20 |tTable, |testing |
|00002000| 74 68 65 20 76 61 6c 75 | 65 20 61 74 20 65 61 63 |the valu|e at eac|
|00002010| 68 0d 20 6c 6f 6e 67 2d | 77 6f 72 64 20 6c 6f 63 |h. long-|word loc|
|00002020| 61 74 69 6f 6e 20 74 6f | 20 73 65 65 20 69 66 20 |ation to| see if |
|00002030| 69 74 27 73 20 6e 69 6c | 2e 20 20 49 66 20 69 74 |it's nil|. If it|
|00002040| 27 73 20 6e 69 6c 2c 20 | 74 68 61 74 20 6d 65 61 |'s nil, |that mea|
|00002050| 6e 73 20 77 65 20 63 61 | 6e 20 70 6c 61 63 65 20 |ns we ca|n place |
|00002060| 6f 75 72 20 64 72 69 76 | 65 72 0d 20 61 74 20 74 |our driv|er. at t|
|00002070| 68 61 74 20 6c 6f 63 61 | 74 69 6f 6e 2c 20 73 6f |hat loca|tion, so|
|00002080| 20 77 65 27 6c 6c 20 72 | 65 74 75 72 6e 20 74 68 | we'll r|eturn th|
|00002090| 65 20 76 61 6c 75 65 20 | 6f 66 20 74 68 65 20 22 |e value |of the "|
|000020a0| 73 6c 6f 74 22 2e 0d 20 | 2a 2a 2a 2a 2a 2a 2a 2a |slot".. |********|
|000020b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000020c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 45 6e 64 20 43 6f |********|**End Co|
|000020d0| 6d 6d 65 6e 74 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |mment***|********|
|000020e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000020f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2f 0d 73 68 6f 72 74 |********|*/.short|
|00002100| 20 0d 6c 6f 6f 6b 46 6f | 72 53 6c 6f 74 49 6e 55 | .lookFo|rSlotInU|
|00002110| 6e 69 74 54 61 62 6c 65 | 28 29 0d 7b 0d 73 68 6f |nitTable|().{.sho|
|00002120| 72 74 09 09 73 6c 6f 74 | 3b 0d 50 74 72 09 09 74 |rt..slot|;.Ptr..t|
|00002130| 68 65 42 61 73 73 3b 0d | 6c 6f 6e 67 09 09 2a 74 |heBass;.|long..*t|
|00002140| 68 65 56 6f 69 64 50 74 | 72 3b 0d 42 6f 6f 6c 65 |heVoidPt|r;.Boole|
|00002150| 61 6e 20 09 66 6f 75 6e | 64 53 6c 6f 74 3b 0d 0d |an .foun|dSlot;..|
|00002160| 09 73 6c 6f 74 20 3d 20 | 2a 28 28 73 68 6f 72 74 |.slot = |*((short|
|00002170| 20 2a 29 28 55 6e 69 74 | 4e 74 72 79 43 6e 74 29 | *)(Unit|NtryCnt)|
|00002180| 29 20 2d 20 31 3b 0d 09 | 74 68 65 42 61 73 73 20 |) - 1;..|theBass |
|00002190| 3d 20 28 50 74 72 29 20 | 28 2a 28 28 6c 6f 6e 67 |= (Ptr) |(*((long|
|000021a0| 20 2a 29 20 28 55 54 61 | 62 6c 65 42 61 73 65 29 | *) (UTa|bleBase)|
|000021b0| 29 29 3b 0d 09 0d 09 66 | 6f 75 6e 64 53 6c 6f 74 |));....f|oundSlot|
|000021c0| 20 3d 20 66 61 6c 73 65 | 3b 0d 09 0d 09 77 68 69 | = false|;....whi|
|000021d0| 6c 65 28 73 6c 6f 74 3e | 34 38 20 26 26 20 21 66 |le(slot>|48 && !f|
|000021e0| 6f 75 6e 64 53 6c 6f 74 | 29 20 0d 09 09 7b 0d 09 |oundSlot|) ...{..|
|000021f0| 09 74 68 65 56 6f 69 64 | 50 74 72 20 3d 20 28 6c |.theVoid|Ptr = (l|
|00002200| 6f 6e 67 20 2a 29 28 74 | 68 65 42 61 73 73 20 2b |ong *)(t|heBass +|
|00002210| 20 28 34 4c 20 2a 20 73 | 6c 6f 74 29 29 3b 0d 09 | (4L * s|lot));..|
|00002220| 09 0d 09 09 69 66 28 2a | 74 68 65 56 6f 69 64 50 |....if(*|theVoidP|
|00002230| 74 72 20 3d 3d 20 30 4c | 29 0d 09 09 09 66 6f 75 |tr == 0L|)....fou|
|00002240| 6e 64 53 6c 6f 74 20 3d | 20 74 72 75 65 3b 0d 09 |ndSlot =| true;..|
|00002250| 09 09 0d 09 09 73 6c 6f | 74 20 2d 3d 20 31 3b 0d |.....slo|t -= 1;.|
|00002260| 09 09 7d 0d 09 09 0d 09 | 73 6c 6f 74 20 2b 3d 20 |..}.....|slot += |
|00002270| 31 3b 0d 09 0d 09 69 66 | 28 21 66 6f 75 6e 64 53 |1;....if|(!foundS|
|00002280| 6c 6f 74 29 0d 09 09 73 | 6c 6f 74 20 3d 20 30 3b |lot)...s|lot = 0;|
|00002290| 0d 0d 09 72 65 74 75 72 | 6e 20 73 6c 6f 74 3b 0d |...retur|n slot;.|
|000022a0| 7d 0d 0d 0d 2f 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |}.../***|********|
|000022b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000022c0| 2a 2a 2a 2a 2a 2a 2a 43 | 6f 6d 6d 65 6e 74 2a 2a |*******C|omment**|
|000022d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000022e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000022f0| 2a 2a 2a 2a 2a 2a 2a 0d | 2a 20 63 68 61 6e 67 65 |*******.|* change|
|00002300| 44 52 56 52 53 6c 6f 74 | 20 69 6e 73 74 61 6c 6c |DRVRSlot| install|
|00002310| 73 20 74 68 65 20 64 72 | 69 76 65 72 20 69 6e 74 |s the dr|iver int|
|00002320| 6f 20 74 68 65 20 73 6c | 6f 74 20 70 61 73 73 65 |o the sl|ot passe|
|00002330| 64 20 69 6e 2e 20 20 42 | 65 63 61 75 73 65 20 77 |d in. B|ecause w|
|00002340| 65 20 77 61 6e 74 20 74 | 6f 20 6b 65 65 70 0d 2a |e want t|o keep.*|
|00002350| 20 6f 75 72 20 44 52 56 | 52 20 72 65 73 6f 75 72 | our DRV|R resour|
|00002360| 63 65 20 49 44 20 69 6e | 20 74 68 65 20 72 65 73 |ce ID in| the res|
|00002370| 6f 75 72 63 65 20 66 69 | 6c 65 20 74 68 65 20 73 |ource fi|le the s|
|00002380| 61 6d 65 20 61 73 20 69 | 74 20 65 76 65 72 20 77 |ame as i|t ever w|
|00002390| 61 73 2c 20 77 65 20 47 | 65 74 52 65 73 49 6e 66 |as, we G|etResInf|
|000023a0| 6f 20 6f 6e 0d 2a 20 69 | 74 2c 20 61 6e 64 20 74 |o on.* i|t, and t|
|000023b0| 68 65 6e 20 73 65 74 20 | 69 74 20 62 61 63 6b 20 |hen set |it back |
|000023c0| 6c 61 74 65 72 2e 20 20 | 42 75 74 2c 20 62 65 66 |later. |But, bef|
|000023d0| 6f 72 65 20 77 65 20 73 | 65 74 20 69 74 20 62 61 |ore we s|et it ba|
|000023e0| 63 6b 2c 20 77 65 20 73 | 65 74 20 74 68 65 20 49 |ck, we s|et the I|
|000023f0| 44 20 6f 66 20 74 68 65 | 20 0d 2a 20 44 52 56 52 |D of the| .* DRVR|
|00002400| 20 72 65 73 6f 75 72 63 | 65 20 65 71 75 61 6c 20 | resourc|e equal |
|00002410| 74 6f 20 74 68 65 20 73 | 6c 6f 74 20 66 6f 75 6e |to the s|lot foun|
|00002420| 64 2c 20 61 6e 64 20 74 | 68 65 6e 20 63 61 6c 6c |d, and t|hen call|
|00002430| 20 4f 70 65 6e 44 72 69 | 76 65 72 2e 20 20 4f 70 | OpenDri|ver. Op|
|00002440| 65 6e 44 72 69 76 65 72 | 20 75 73 65 73 20 74 68 |enDriver| uses th|
|00002450| 65 0d 2a 20 72 65 73 6f | 75 72 63 65 20 49 44 20 |e.* reso|urce ID |
|00002460| 6f 66 20 74 68 65 20 44 | 52 56 52 20 72 65 73 6f |of the D|RVR reso|
|00002470| 75 72 63 65 20 74 6f 20 | 70 6c 61 63 65 20 69 74 |urce to |place it|
|00002480| 20 69 6e 20 74 68 65 20 | 55 6e 69 74 54 61 62 6c | in the |UnitTabl|
|00002490| 65 20 2d 2d 20 70 72 65 | 74 74 79 20 65 61 73 79 |e -- pre|tty easy|
|000024a0| 20 68 75 68 3f 0d 2a 20 | 54 68 65 20 6f 6e 6c 79 | huh?.* |The only|
|000024b0| 20 6f 74 68 65 72 20 74 | 72 69 63 6b 79 20 74 68 | other t|ricky th|
|000024c0| 69 6e 67 20 69 73 20 77 | 65 20 68 61 76 65 20 74 |ing is w|e have t|
|000024d0| 6f 20 44 65 74 61 63 68 | 20 74 68 65 20 72 65 73 |o Detach| the res|
|000024e0| 6f 75 72 63 65 20 62 79 | 20 63 61 6c 6c 69 6e 67 |ource by| calling|
|000024f0| 20 44 65 74 61 63 68 52 | 65 73 6f 75 72 63 65 0d | DetachR|esource.|
|00002500| 2a 20 73 6f 20 74 68 65 | 20 72 65 73 6f 75 72 63 |* so the| resourc|
|00002510| 65 20 64 6f 65 73 6e 27 | 74 20 67 6f 20 61 77 61 |e doesn'|t go awa|
|00002520| 79 20 77 68 65 6e 20 74 | 68 65 20 72 65 73 6f 75 |y when t|he resou|
|00002530| 72 63 65 20 66 69 6c 65 | 20 67 65 74 73 20 63 6c |rce file| gets cl|
|00002540| 6f 73 65 64 20 28 74 68 | 65 20 52 65 73 6f 75 72 |osed (th|e Resour|
|00002550| 63 65 0d 2a 20 4d 61 6e | 61 67 65 72 20 69 73 20 |ce.* Man|ager is |
|00002560| 6f 75 72 20 66 72 69 65 | 6e 64 29 2e 20 20 54 68 |our frie|nd). Th|
|00002570| 65 20 72 65 73 6f 75 72 | 63 65 20 66 69 6c 65 20 |e resour|ce file |
|00002580| 67 65 74 73 20 63 6c 6f | 73 65 64 20 77 68 65 6e |gets clo|sed when|
|00002590| 20 74 68 65 20 49 4e 49 | 54 20 73 74 6f 70 73 20 | the INI|T stops |
|000025a0| 65 78 65 63 75 74 69 6e | 67 2e 0d 20 2a 2a 2a 2a |executin|g.. ****|
|000025b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000025c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 45 6e |********|******En|
|000025d0| 64 20 43 6f 6d 6d 65 6e | 74 2a 2a 2a 2a 2a 2a 2a |d Commen|t*******|
|000025e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000025f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2f 0d 73 |********|*****/.s|
|00002600| 68 6f 72 74 20 63 68 61 | 6e 67 65 44 52 56 52 53 |hort cha|ngeDRVRS|
|00002610| 6c 6f 74 28 73 68 6f 72 | 74 20 73 6c 6f 74 2c 20 |lot(shor|t slot, |
|00002620| 53 74 72 69 6e 67 50 74 | 72 20 6e 61 6d 65 29 20 |StringPt|r name) |
|00002630| 09 2f 2a 20 4e 61 6d 65 | 20 69 73 20 61 20 70 73 |./* Name| is a ps|
|00002640| 74 72 69 6e 67 20 2a 2f | 0d 7b 0d 48 61 6e 64 6c |tring */|.{.Handl|
|00002650| 65 09 09 09 74 68 65 44 | 52 56 52 3b 0d 73 68 6f |e...theD|RVR;.sho|
|00002660| 72 74 09 09 09 65 72 72 | 2c 20 72 65 66 4e 75 6d |rt...err|, refNum|
|00002670| 3b 0d 63 68 61 72 09 09 | 09 44 52 56 52 6e 61 6d |;.char..|.DRVRnam|
|00002680| 65 5b 32 35 36 5d 3b 0d | 73 68 6f 72 74 09 09 09 |e[256];.|short...|
|00002690| 44 52 56 52 69 64 3b 0d | 52 65 73 54 79 70 65 09 |DRVRid;.|ResType.|
|000026a0| 09 09 44 52 56 52 54 79 | 70 65 3b 0d 0d 69 66 28 |..DRVRTy|pe;..if(|
|000026b0| 73 6c 6f 74 20 21 3d 20 | 30 29 20 0d 09 7b 09 09 |slot != |0) ..{..|
|000026c0| 0d 09 09 74 68 65 44 52 | 56 52 20 3d 20 47 65 74 |...theDR|VR = Get|
|000026d0| 4e 61 6d 65 64 52 65 73 | 6f 75 72 63 65 28 27 44 |NamedRes|ource('D|
|000026e0| 52 56 52 27 2c 20 6e 61 | 6d 65 29 3b 0d 09 09 69 |RVR', na|me);...i|
|000026f0| 66 20 28 74 68 65 44 52 | 56 52 29 0d 09 09 7b 0d |f (theDR|VR)...{.|
|00002700| 09 09 09 47 65 74 52 65 | 73 49 6e 66 6f 28 74 68 |...GetRe|sInfo(th|
|00002710| 65 44 52 56 52 2c 20 26 | 44 52 56 52 69 64 2c 20 |eDRVR, &|DRVRid, |
|00002720| 26 44 52 56 52 54 79 70 | 65 2c 20 26 44 52 56 52 |&DRVRTyp|e, &DRVR|
|00002730| 6e 61 6d 65 29 3b 0d 09 | 09 09 53 65 74 52 65 73 |name);..|..SetRes|
|00002740| 49 6e 66 6f 28 74 68 65 | 44 52 56 52 2c 20 73 6c |Info(the|DRVR, sl|
|00002750| 6f 74 2c 20 30 4c 29 3b | 0d 09 09 09 20 0d 09 09 |ot, 0L);|.... ...|
|00002760| 09 65 72 72 20 3d 20 4f | 70 65 6e 44 72 69 76 65 |.err = O|penDrive|
|00002770| 72 28 6e 61 6d 65 2c 20 | 26 72 65 66 4e 75 6d 29 |r(name, |&refNum)|
|00002780| 3b 0d 09 09 09 69 66 28 | 65 72 72 20 3d 3d 20 6e |;....if(|err == n|
|00002790| 6f 45 72 72 29 0d 09 09 | 09 09 7b 0d 09 09 09 09 |oErr)...|..{.....|
|000027a0| 2f 2a 20 64 65 74 61 63 | 68 20 74 68 65 20 72 65 |/* detac|h the re|
|000027b0| 73 6f 75 72 63 65 73 20 | 66 72 6f 6d 20 74 68 65 |sources |from the|
|000027c0| 20 72 65 73 6f 75 72 63 | 65 20 6d 61 70 20 2a 2f | resourc|e map */|
|000027d0| 0d 09 09 09 09 09 44 65 | 74 61 63 68 52 65 73 6f |......De|tachReso|
|000027e0| 75 72 63 65 28 74 68 65 | 44 52 56 52 29 3b 0d 09 |urce(the|DRVR);..|
|000027f0| 09 20 0d 09 09 09 09 7d | 0d 09 09 09 2f 2a 20 52 |. .....}|..../* R|
|00002800| 65 73 74 6f 72 65 73 20 | 74 68 65 20 70 72 65 76 |estores |the prev|
|00002810| 69 6f 75 73 20 72 65 73 | 6f 75 72 63 65 20 61 74 |ious res|ource at|
|00002820| 74 72 69 62 75 74 65 73 | 20 73 6f 20 74 68 65 79 |tributes| so they|
|00002830| 20 64 6f 6e 27 74 20 63 | 68 61 6e 67 65 0d 09 09 | don't c|hange...|
|00002840| 09 20 2a 20 66 72 6f 6d | 20 73 74 61 72 74 75 70 |. * from| startup|
|00002850| 20 74 6f 20 73 74 61 72 | 74 75 70 2e 20 20 57 65 | to star|tup. We|
|00002860| 20 6a 75 73 74 20 77 61 | 6e 74 20 74 68 65 20 69 | just wa|nt the i|
|00002870| 6e 2d 6d 65 6d 6f 72 79 | 20 63 6f 70 79 20 74 6f |n-memory| copy to|
|00002880| 20 68 61 76 65 0d 09 09 | 09 20 2a 20 61 20 64 69 | have...|. * a di|
|00002890| 66 66 65 72 65 6e 74 20 | 49 44 20 6e 75 6d 62 65 |fferent |ID numbe|
|000028a0| 72 20 2d 2d 20 6e 6f 74 | 20 6f 75 72 20 72 65 73 |r -- not| our res|
|000028b0| 6f 75 72 63 65 20 69 6e | 20 74 68 65 20 66 69 6c |ource in| the fil|
|000028c0| 65 20 20 20 20 20 20 20 | 20 2a 2f 0d 09 09 09 74 |e | */....t|
|000028d0| 68 65 44 52 56 52 20 3d | 20 47 65 74 4e 61 6d 65 |heDRVR =| GetName|
|000028e0| 64 52 65 73 6f 75 72 63 | 65 28 27 44 52 56 52 27 |dResourc|e('DRVR'|
|000028f0| 2c 20 6e 61 6d 65 29 3b | 0d 09 09 09 53 65 74 52 |, name);|....SetR|
|00002900| 65 73 49 6e 66 6f 28 74 | 68 65 44 52 56 52 2c 20 |esInfo(t|heDRVR, |
|00002910| 44 52 56 52 69 64 2c 20 | 6e 69 6c 29 3b 0d 09 09 |DRVRid, |nil);...|
|00002920| 7d 20 65 6c 73 65 20 65 | 72 72 20 3d 20 72 65 73 |} else e|rr = res|
|00002930| 4e 6f 74 46 6f 75 6e 64 | 3b 0d 09 7d 0d 09 72 65 |NotFound|;..}..re|
|00002940| 74 75 72 6e 20 65 72 72 | 3b 0d 7d 0d 0d 2f 2a 2a |turn err|;.}../**|
|00002950| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002960| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002970| 43 6f 6d 6d 65 6e 74 2a | 2a 2a 2a 2a 2a 2a 2a 2a |Comment*|********|
|00002980| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002990| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000029a0| 0d 20 2a 20 49 6e 73 74 | 61 6c 6c 44 72 69 76 65 |. * Inst|allDrive|
|000029b0| 72 20 69 6e 73 74 61 6c | 6c 73 20 61 20 64 72 69 |r instal|ls a dri|
|000029c0| 76 65 72 20 73 61 66 65 | 6c 79 2e 20 20 54 61 6b |ver safe|ly. Tak|
|000029d0| 65 6e 20 66 72 6f 6d 20 | 69 61 63 44 72 69 76 65 |en from |iacDrive|
|000029e0| 72 20 65 78 61 6d 70 6c | 65 2e 0d 20 2a 20 69 74 |r exampl|e.. * it|
|000029f0| 20 6c 6f 6f 6b 73 20 66 | 6f 72 20 61 20 22 73 6c | looks f|or a "sl|
|00002a00| 6f 74 22 20 69 6e 20 74 | 68 65 20 55 6e 69 74 54 |ot" in t|he UnitT|
|00002a10| 61 62 6c 65 20 69 6e 74 | 6f 20 77 68 69 63 68 20 |able int|o which |
|00002a20| 74 68 65 20 64 72 69 76 | 65 72 20 63 61 6e 20 62 |the driv|er can b|
|00002a30| 65 20 70 6c 61 63 65 64 | 2e 20 20 49 66 0d 20 2a |e placed|. If. *|
|00002a40| 20 69 74 20 66 69 6e 64 | 73 20 61 20 22 73 6c 6f | it find|s a "slo|
|00002a50| 74 22 20 69 74 20 63 61 | 6c 6c 73 20 74 68 65 20 |t" it ca|lls the |
|00002a60| 70 72 6f 63 65 64 75 72 | 65 20 63 68 61 6e 67 65 |procedur|e change|
|00002a70| 44 52 56 52 53 6c 6f 74 | 20 74 6f 20 69 6e 73 74 |DRVRSlot| to inst|
|00002a80| 61 6c 6c 20 74 68 65 20 | 64 72 69 76 65 72 20 0d |all the |driver .|
|00002a90| 20 2a 20 69 6e 74 6f 20 | 74 68 61 74 20 73 6c 6f | * into |that slo|
|00002aa0| 74 2e 0d 20 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |t.. ****|********|
|00002ab0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002ac0| 2a 2a 2a 2a 2a 2a 45 6e | 64 20 43 6f 6d 6d 65 6e |******En|d Commen|
|00002ad0| 74 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |t*******|********|
|00002ae0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002af0| 2a 2a 2a 2a 2a 2f 0d 20 | 0d 73 68 6f 72 74 20 49 |*****/. |.short I|
|00002b00| 6e 73 74 61 6c 6c 44 72 | 69 76 65 72 28 53 74 72 |nstallDr|iver(Str|
|00002b10| 69 6e 67 50 74 72 20 64 | 72 76 72 4e 61 6d 65 29 |ingPtr d|rvrName)|
|00002b20| 0d 7b 0d 73 68 6f 72 74 | 09 09 74 73 53 6c 6f 74 |.{.short|..tsSlot|
|00002b30| 3b 0d 73 68 6f 72 74 20 | 09 09 65 72 72 3b 0d 0d |;.short |..err;..|
|00002b40| 09 69 66 28 28 74 73 53 | 6c 6f 74 20 3d 20 6c 6f |.if((tsS|lot = lo|
|00002b50| 6f 6b 46 6f 72 53 6c 6f | 74 49 6e 55 6e 69 74 54 |okForSlo|tInUnitT|
|00002b60| 61 62 6c 65 28 29 29 20 | 21 3d 20 30 29 0d 09 09 |able()) |!= 0)...|
|00002b70| 65 72 72 20 3d 20 63 68 | 61 6e 67 65 44 52 56 52 |err = ch|angeDRVR|
|00002b80| 53 6c 6f 74 28 74 73 53 | 6c 6f 74 2c 20 64 72 76 |Slot(tsS|lot, drv|
|00002b90| 72 4e 61 6d 65 29 3b 0d | 09 65 6c 73 65 20 65 72 |rName);.|.else er|
|00002ba0| 72 20 3d 20 75 6e 69 74 | 54 62 6c 46 75 6c 6c 45 |r = unit|TblFullE|
|00002bb0| 72 72 3b 0d 09 0d 09 72 | 65 74 75 72 6e 20 65 72 |rr;....r|eturn er|
|00002bc0| 72 3b 0d 7d 0d 0d 2f 2f | 20 47 69 76 65 6e 20 6f |r;.}..//| Given o|
|00002bd0| 70 65 6e 20 54 72 61 63 | 6b 73 20 64 72 69 76 65 |pen Trac|ks drive|
|00002be0| 72 2c 20 74 68 69 73 20 | 77 69 6c 6c 20 73 74 61 |r, this |will sta|
|00002bf0| 72 74 20 69 74 20 75 73 | 69 6e 67 20 75 73 65 72 |rt it us|ing user|
|00002c00| 73 20 70 72 65 66 65 72 | 65 6e 63 65 73 2e 2e 0d |s prefer|ences...|
|00002c10| 73 68 6f 72 74 20 49 6e | 76 6f 6b 65 54 72 61 63 |short In|vokeTrac|
|00002c20| 65 28 73 68 6f 72 74 20 | 54 72 61 63 65 52 65 66 |e(short |TraceRef|
|00002c30| 4e 75 6d 2c 73 68 6f 72 | 74 20 70 72 65 66 73 46 |Num,shor|t prefsF|
|00002c40| 6f 6c 64 65 72 52 65 66 | 4e 75 6d 2c 20 73 61 76 |olderRef|Num, sav|
|00002c50| 65 54 79 70 65 48 61 6e | 64 6c 65 09 68 53 61 76 |eTypeHan|dle.hSav|
|00002c60| 65 2c 20 48 61 6e 64 6c | 65 20 64 72 76 72 4e 61 |e, Handl|e drvrNa|
|00002c70| 6d 65 29 0d 7b 0d 54 72 | 61 63 65 50 61 72 61 6d |me).{.Tr|aceParam|
|00002c80| 42 6c 6f 63 6b 20 70 61 | 72 61 6d 3b 0d 72 65 67 |Block pa|ram;.reg|
|00002c90| 69 73 74 65 72 20 73 68 | 6f 72 74 20 72 65 73 75 |ister sh|ort resu|
|00002ca0| 6c 74 2c 20 69 63 6f 6e | 54 6f 55 73 65 3b 0d 42 |lt, icon|ToUse;.B|
|00002cb0| 6f 6f 6c 65 61 6e 09 09 | 57 61 72 6e 4f 66 41 75 |oolean..|WarnOfAu|
|00002cc0| 74 6f 57 72 69 74 65 20 | 3d 20 66 61 6c 73 65 3b |toWrite |= false;|
|00002cd0| 0d 48 61 6e 64 6c 65 09 | 50 53 74 72 48 61 6e 64 |.Handle.|PStrHand|
|00002ce0| 3b 09 0d 0d 09 69 63 6f | 6e 54 6f 55 73 65 20 3d |;....ico|nToUse =|
|00002cf0| 20 54 72 61 63 69 6e 67 | 49 63 6f 6e 49 44 3b 0d | Tracing|IconID;.|
|00002d00| 09 69 66 20 28 64 72 76 | 72 4e 61 6d 65 20 3d 3d |.if (drv|rName ==|
|00002d10| 20 6e 69 6c 29 0d 09 09 | 7b 0d 09 09 09 72 65 74 | nil)...|{....ret|
|00002d20| 75 72 6e 20 45 72 72 6f | 72 49 63 6f 6e 49 44 3b |urn Erro|rIconID;|
|00002d30| 0d 09 09 7d 0d 09 0d 09 | 50 53 74 72 48 61 6e 64 |...}....|PStrHand|
|00002d40| 20 3d 20 47 65 74 52 65 | 73 6f 75 72 63 65 28 27 | = GetRe|source('|
|00002d50| 53 54 52 20 27 2c 20 2d | 34 30 36 33 29 3b 0d 09 |STR ', -|4063);..|
|00002d60| 69 66 20 28 50 53 74 72 | 48 61 6e 64 20 3d 3d 20 |if (PStr|Hand == |
|00002d70| 6e 69 6c 29 20 0d 09 7b | 0d 09 09 72 65 74 75 72 |nil) ..{|...retur|
|00002d80| 6e 20 45 72 72 6f 72 49 | 63 6f 6e 49 44 3b 0d 09 |n ErrorI|conID;..|
|00002d90| 7d 0d 0d 09 69 66 20 28 | 20 28 2a 2a 68 53 61 76 |}...if (| (**hSav|
|00002da0| 65 29 2e 56 65 72 73 69 | 6f 6e 20 21 3d 20 6b 56 |e).Versi|on != kV|
|00002db0| 65 72 73 69 6f 6e 4e 75 | 6d 62 65 72 29 20 72 65 |ersionNu|mber) re|
|00002dc0| 74 75 72 6e 20 45 72 72 | 6f 72 49 63 6f 6e 49 44 |turn Err|orIconID|
|00002dd0| 3b 09 2f 2f 20 56 65 72 | 73 69 6f 6e 20 45 72 72 |;.// Ver|sion Err|
|00002de0| 6f 72 20 0d 09 48 4c 6f | 63 6b 28 28 48 61 6e 64 |or ..HLo|ck((Hand|
|00002df0| 6c 65 29 68 53 61 76 65 | 29 3b 0d 09 0d 09 2f 2f |le)hSave|);....//|
|00002e00| 09 2a 2a 2a 2a 20 53 65 | 74 75 70 20 62 75 66 66 |.**** Se|tup buff|
|00002e10| 65 72 20 61 72 65 61 20 | 2a 2a 2a 2a 0d 09 69 66 |er area |****..if|
|00002e20| 20 28 28 2a 2a 68 53 61 | 76 65 29 2e 66 42 75 66 | ((**hSa|ve).fBuf|
|00002e30| 66 65 72 53 69 7a 65 3d | 3d 20 6e 69 6c 29 20 0d |ferSize=|= nil) .|
|00002e40| 09 7b 0d 09 09 49 6e 69 | 74 4e 6f 74 69 66 79 28 |.{...Ini|tNotify(|
|00002e50| 73 6d 4e 69 6c 73 42 6c | 6f 63 6b 45 72 72 2c 32 |smNilsBl|ockErr,2|
|00002e60| 29 3b 09 2f 2f 20 43 6f | 75 6c 64 6e 27 74 20 61 |);.// Co|uldn't a|
|00002e70| 6c 6c 6f 63 61 74 65 20 | 72 65 71 75 65 73 74 65 |llocate |requeste|
|00002e80| 64 20 6d 65 6d 6f 72 79 | 2e 2e 2e 2e 09 0d 09 09 |d memory|........|
|00002e90| 72 65 74 75 72 6e 20 45 | 72 72 6f 72 49 63 6f 6e |return E|rrorIcon|
|00002ea0| 49 44 3b 0d 09 7d 0d 09 | 70 61 72 61 6d 2e 75 2e |ID;..}..|param.u.|
|00002eb0| 65 6e 61 62 6c 65 2e 74 | 72 61 63 65 42 75 66 66 |enable.t|raceBuff|
|00002ec0| 53 69 7a 65 20 3d 20 28 | 2a 2a 68 53 61 76 65 29 |Size = (|**hSave)|
|00002ed0| 2e 66 42 75 66 66 65 72 | 53 69 7a 65 20 26 20 30 |.fBuffer|Size & 0|
|00002ee0| 78 30 30 30 30 46 46 46 | 65 3b 09 09 2f 2a 20 53 |x0000FFF|e;../* S|
|00002ef0| 69 7a 65 20 6f 66 20 62 | 75 66 66 65 72 20 28 4c |ize of b|uffer (L|
|00002f00| 49 4d 49 54 45 44 20 54 | 4f 20 33 32 4b 21 29 09 |IMITED T|O 32K!).|
|00002f10| 2a 2f 0d 09 70 61 72 61 | 6d 2e 75 2e 65 6e 61 62 |*/..para|m.u.enab|
|00002f20| 6c 65 2e 74 72 61 63 65 | 42 75 66 66 53 69 7a 65 |le.trace|BuffSize|
|00002f30| 49 6e 64 65 78 20 3d 20 | 28 2a 2a 68 53 61 76 65 |Index = |(**hSave|
|00002f40| 29 2e 66 43 75 72 72 65 | 6e 74 53 69 7a 65 49 6e |).fCurre|ntSizeIn|
|00002f50| 64 65 78 3b 09 09 09 2f | 2a 20 50 6f 69 6e 74 73 |dex;.../|* Points|
|00002f60| 20 74 6f 20 63 6f 72 72 | 65 63 74 20 76 61 6c 75 | to corr|ect valu|
|00002f70| 65 20 2a 2f 0d 09 72 65 | 73 75 6c 74 20 3d 20 43 |e */..re|sult = C|
|00002f80| 6f 6e 74 72 6f 6c 28 54 | 72 61 63 65 52 65 66 4e |ontrol(T|raceRefN|
|00002f90| 75 6d 2c 20 6b 45 6e 61 | 62 6c 65 54 72 61 63 65 |um, kEna|bleTrace|
|00002fa0| 42 75 66 66 65 72 2c 20 | 28 50 74 72 29 20 26 70 |Buffer, |(Ptr) &p|
|00002fb0| 61 72 61 6d 29 3b 0d 09 | 69 66 20 28 72 65 73 75 |aram);..|if (resu|
|00002fc0| 6c 74 20 21 3d 20 6e 6f | 45 72 72 29 20 0d 09 7b |lt != no|Err) ..{|
|00002fd0| 0d 09 09 2f 2f 49 6e 69 | 74 4e 6f 74 69 66 79 28 |...//Ini|tNotify(|
|00002fe0| 72 65 73 75 6c 74 2c 32 | 29 3b 09 2f 2f 20 43 6f |result,2|);.// Co|
|00002ff0| 75 6c 64 6e 27 74 20 61 | 6c 6c 6f 63 61 74 65 20 |uldn't a|llocate |
|00003000| 72 65 71 75 65 73 74 65 | 64 20 6d 65 6d 6f 72 79 |requeste|d memory|
|00003010| 2e 2e 2e 2e 09 0d 09 09 | 72 65 74 75 72 6e 20 45 |........|return E|
|00003020| 72 72 6f 72 49 63 6f 6e | 49 44 3b 0d 09 7d 0d 0d |rrorIcon|ID;..}..|
|00003030| 09 2f 2f 20 2a 2a 2a 2a | 20 48 61 6e 64 6c 65 20 |.// ****| Handle |
|00003040| 46 69 6c 65 20 4e 61 6d | 65 20 2a 2a 2a 2a 0d 09 |File Nam|e ****..|
|00003050| 70 61 72 61 6d 2e 75 2e | 65 6e 61 62 6c 65 46 69 |param.u.|enableFi|
|00003060| 6c 65 2e 66 69 6c 65 4e | 61 6d 65 20 3d 20 28 63 |le.fileN|ame = (c|
|00003070| 68 61 72 20 2a 29 2a 50 | 53 74 72 48 61 6e 64 3b |har *)*P|StrHand;|
|00003080| 0d 09 70 61 72 61 6d 2e | 75 2e 65 6e 61 62 6c 65 |..param.|u.enable|
|00003090| 46 69 6c 65 2e 76 52 65 | 66 4e 75 6d 20 3d 20 70 |File.vRe|fNum = p|
|000030a0| 72 65 66 73 46 6f 6c 64 | 65 72 52 65 66 4e 75 6d |refsFold|erRefNum|
|000030b0| 3b 09 09 2f 2f 20 49 6e | 74 6f 20 73 79 73 20 66 |;..// In|to sys f|
|000030c0| 6f 6c 64 65 72 09 09 0d | 09 72 65 73 75 6c 74 20 |older...|.result |
|000030d0| 3d 20 43 6f 6e 74 72 6f | 6c 28 54 72 61 63 65 52 |= Contro|l(TraceR|
|000030e0| 65 66 4e 75 6d 2c 20 6b | 53 65 74 54 72 61 63 65 |efNum, k|SetTrace|
|000030f0| 46 69 6c 65 4e 61 6d 65 | 2c 20 28 50 74 72 29 20 |FileName|, (Ptr) |
|00003100| 26 70 61 72 61 6d 29 3b | 0d 09 69 66 20 28 72 65 |¶m);|..if (re|
|00003110| 73 75 6c 74 20 21 3d 20 | 6e 6f 45 72 72 29 20 0d |sult != |noErr) .|
|00003120| 09 7b 0d 09 09 72 65 74 | 75 72 6e 20 45 72 72 6f |.{...ret|urn Erro|
|00003130| 72 49 63 6f 6e 49 44 3b | 0d 09 7d 0d 0d 09 2f 2f |rIconID;|..}...//|
|00003140| 20 2a 2a 2a 2a 20 43 68 | 61 6e 67 65 20 50 65 72 | **** Ch|ange Per|
|00003150| 69 6f 64 69 63 20 77 72 | 69 74 65 20 74 6f 20 66 |iodic wr|ite to f|
|00003160| 69 6c 65 20 2a 2a 2a 2a | 0d 09 2f 2f 20 54 68 69 |ile ****|..// Thi|
|00003170| 73 20 77 69 6c 6c 20 73 | 65 74 20 74 68 65 20 64 |s will s|et the d|
|00003180| 4e 65 65 64 54 69 6d 65 | 20 62 69 74 2e 0d 09 69 |NeedTime| bit...i|
|00003190| 66 20 28 28 2a 2a 68 53 | 61 76 65 29 2e 66 41 75 |f ((**hS|ave).fAu|
|000031a0| 74 6f 57 72 69 74 65 4f | 6e 29 0d 09 09 72 65 73 |toWriteO|n)...res|
|000031b0| 75 6c 74 20 3d 20 43 6f | 6e 74 72 6f 6c 28 54 72 |ult = Co|ntrol(Tr|
|000031c0| 61 63 65 52 65 66 4e 75 | 6d 2c 20 6b 53 65 74 41 |aceRefNu|m, kSetA|
|000031d0| 75 74 6f 57 72 69 74 65 | 4f 6e 2c 20 6e 69 6c 29 |utoWrite|On, nil)|
|000031e0| 3b 0d 09 65 6c 73 65 0d | 09 09 72 65 73 75 6c 74 |;..else.|..result|
|000031f0| 20 3d 20 43 6f 6e 74 72 | 6f 6c 28 54 72 61 63 65 | = Contr|ol(Trace|
|00003200| 52 65 66 4e 75 6d 2c 20 | 6b 53 65 74 41 75 74 6f |RefNum, |kSetAuto|
|00003210| 57 72 69 74 65 4f 66 66 | 2c 20 6e 69 6c 29 3b 0d |WriteOff|, nil);.|
|00003220| 09 09 0d 09 69 66 20 28 | 72 65 73 75 6c 74 20 21 |....if (|result !|
|00003230| 3d 20 6e 6f 45 72 72 29 | 20 69 63 6f 6e 54 6f 55 |= noErr)| iconToU|
|00003240| 73 65 20 3d 20 45 72 72 | 6f 72 49 63 6f 6e 49 44 |se = Err|orIconID|
|00003250| 3b 20 0d 09 0d 09 72 65 | 73 75 6c 74 20 3d 20 43 |; ....re|sult = C|
|00003260| 6f 6e 74 72 6f 6c 28 54 | 72 61 63 65 52 65 66 4e |ontrol(T|raceRefN|
|00003270| 75 6d 2c 6b 53 74 61 72 | 74 65 64 46 72 6f 6d 49 |um,kStar|tedFromI|
|00003280| 6e 69 74 2c 28 50 74 72 | 29 74 72 75 65 29 3b 0d |nit,(Ptr|)true);.|
|00003290| 09 69 66 20 28 72 65 73 | 75 6c 74 20 21 3d 20 6e |.if (res|ult != n|
|000032a0| 6f 45 72 72 29 20 69 63 | 6f 6e 54 6f 55 73 65 20 |oErr) ic|onToUse |
|000032b0| 3d 20 45 72 72 6f 72 49 | 63 6f 6e 49 44 3b 20 0d |= ErrorI|conID; .|
|000032c0| 09 2f 2f 09 2a 2a 2a 2a | 20 53 65 74 20 42 72 65 |.//.****| Set Bre|
|000032d0| 61 6b 20 61 6e 64 20 54 | 72 61 63 65 20 4d 61 73 |ak and T|race Mas|
|000032e0| 6b 73 20 2a 2a 2a 2a 0d | 09 42 6c 6f 63 6b 4d 6f |ks ****.|.BlockMo|
|000032f0| 76 65 28 28 50 74 72 29 | 28 2a 2a 68 53 61 76 65 |ve((Ptr)|(**hSave|
|00003300| 29 2e 66 42 72 65 61 6b | 4d 61 73 6b 2c 28 50 74 |).fBreak|Mask,(Pt|
|00003310| 72 29 70 61 72 61 6d 2e | 75 2e 6d 61 73 6b 2e 4d |r)param.|u.mask.M|
|00003320| 61 73 6b 2c 31 36 4c 29 | 3b 0d 09 70 61 72 61 6d |ask,16L)|;..param|
|00003330| 2e 75 2e 6d 61 73 6b 2e | 42 72 65 61 6b 4f 6e 63 |.u.mask.|BreakOnc|
|00003340| 65 20 3d 20 28 2a 2a 68 | 53 61 76 65 29 2e 66 42 |e = (**h|Save).fB|
|00003350| 72 65 61 6b 4f 6e 63 65 | 54 68 65 6e 43 6c 65 61 |reakOnce|ThenClea|
|00003360| 72 3b 09 0d 0d 09 72 65 | 73 75 6c 74 20 3d 20 43 |r;....re|sult = C|
|00003370| 6f 6e 74 72 6f 6c 28 54 | 72 61 63 65 52 65 66 4e |ontrol(T|raceRefN|
|00003380| 75 6d 2c 20 6b 47 65 74 | 43 64 65 76 42 72 65 61 |um, kGet|CdevBrea|
|00003390| 6b 4d 61 73 6b 2c 20 28 | 50 74 72 29 20 26 70 61 |kMask, (|Ptr) &pa|
|000033a0| 72 61 6d 29 3b 0d 09 69 | 66 20 28 72 65 73 75 6c |ram);..i|f (resul|
|000033b0| 74 20 3d 3d 20 6e 6f 45 | 72 72 29 20 0d 09 09 42 |t == noE|rr) ...B|
|000033c0| 6c 6f 63 6b 4d 6f 76 65 | 28 28 50 74 72 29 28 2a |lockMove|((Ptr)(*|
|000033d0| 2a 68 53 61 76 65 29 2e | 66 54 72 61 63 65 4d 61 |*hSave).|fTraceMa|
|000033e0| 73 6b 2c 28 50 74 72 29 | 70 61 72 61 6d 2e 75 2e |sk,(Ptr)|param.u.|
|000033f0| 6d 61 73 6b 2e 4d 61 73 | 6b 2c 31 36 4c 29 3b 0d |mask.Mas|k,16L);.|
|00003400| 0d 09 72 65 73 75 6c 74 | 20 3d 20 43 6f 6e 74 72 |..result| = Contr|
|00003410| 6f 6c 28 54 72 61 63 65 | 52 65 66 4e 75 6d 2c 20 |ol(Trace|RefNum, |
|00003420| 6b 47 65 74 43 64 65 76 | 54 72 61 63 65 4d 61 73 |kGetCdev|TraceMas|
|00003430| 6b 2c 20 28 50 74 72 29 | 20 26 70 61 72 61 6d 29 |k, (Ptr)| ¶m)|
|00003440| 3b 0d 09 69 66 20 28 72 | 65 73 75 6c 74 20 21 3d |;..if (r|esult !=|
|00003450| 20 6e 6f 45 72 72 29 20 | 69 63 6f 6e 54 6f 55 73 | noErr) |iconToUs|
|00003460| 65 20 3d 20 45 72 72 6f | 72 49 63 6f 6e 49 44 3b |e = Erro|rIconID;|
|00003470| 20 0d 0d 09 2f 2f 20 54 | 75 72 6e 20 54 72 61 63 | ...// T|urn Trac|
|00003480| 69 6e 67 20 4f 6e 0d 09 | 0d 09 69 66 20 28 28 2a |ing On..|..if ((*|
|00003490| 2a 68 53 61 76 65 29 2e | 66 54 72 61 63 65 4f 6e |*hSave).|fTraceOn|
|000034a0| 53 74 61 72 74 75 70 20 | 26 26 20 69 63 6f 6e 54 |Startup |&& iconT|
|000034b0| 6f 55 73 65 20 21 3d 20 | 45 72 72 6f 72 49 63 6f |oUse != |ErrorIco|
|000034c0| 6e 49 44 29 0d 09 09 7b | 0d 09 09 09 72 65 73 75 |nID)...{|....resu|
|000034d0| 6c 74 20 3d 20 43 6f 6e | 74 72 6f 6c 28 54 72 61 |lt = Con|trol(Tra|
|000034e0| 63 65 52 65 66 4e 75 6d | 2c 20 6b 53 65 74 54 72 |ceRefNum|, kSetTr|
|000034f0| 61 63 65 4f 6e 6c 69 6e | 65 2c 20 2a 64 72 76 72 |aceOnlin|e, *drvr|
|00003500| 4e 61 6d 65 29 3b 0d 09 | 09 09 69 66 20 28 72 65 |Name);..|..if (re|
|00003510| 73 75 6c 74 20 3d 3d 20 | 6e 6f 45 72 72 20 26 26 |sult == |noErr &&|
|00003520| 20 28 2a 2a 68 53 61 76 | 65 29 2e 66 41 75 74 6f | (**hSav|e).fAuto|
|00003530| 57 72 69 74 65 4f 6e 29 | 0d 09 09 09 09 7b 49 6e |WriteOn)|.....{In|
|00003540| 69 74 4e 6f 74 69 66 79 | 28 31 2c 31 29 3b 7d 09 |itNotify|(1,1);}.|
|00003550| 09 2f 2f 20 57 61 72 6e | 20 75 73 65 72 20 74 68 |.// Warn| user th|
|00003560| 61 74 20 41 75 74 6f 20 | 57 72 69 74 65 20 74 6f |at Auto |Write to|
|00003570| 20 64 69 73 6b 20 69 73 | 20 6f 6e 2e 0d 09 09 09 | disk is| on.....|
|00003580| 69 66 20 28 72 65 73 75 | 6c 74 20 21 3d 20 6e 6f |if (resu|lt != no|
|00003590| 45 72 72 29 20 69 63 6f | 6e 54 6f 55 73 65 20 3d |Err) ico|nToUse =|
|000035a0| 20 45 72 72 6f 72 49 63 | 6f 6e 49 44 3b 0d 09 09 | ErrorIc|onID;...|
|000035b0| 7d 0d 09 65 6c 73 65 20 | 69 66 20 28 69 63 6f 6e |}..else |if (icon|
|000035c0| 54 6f 55 73 65 20 21 3d | 20 45 72 72 6f 72 49 63 |ToUse !=| ErrorIc|
|000035d0| 6f 6e 49 44 29 20 69 63 | 6f 6e 54 6f 55 73 65 20 |onID) ic|onToUse |
|000035e0| 3d 20 49 6e 61 63 74 69 | 76 65 49 63 6f 6e 49 44 |= Inacti|veIconID|
|000035f0| 3b 0d 0d 09 48 55 6e 6c | 6f 63 6b 28 28 48 61 6e |;...HUnl|ock((Han|
|00003600| 64 6c 65 29 68 53 61 76 | 65 29 3b 0d 09 44 69 73 |dle)hSav|e);..Dis|
|00003610| 70 6f 73 48 61 6e 64 6c | 65 28 28 48 61 6e 64 6c |posHandl|e((Handl|
|00003620| 65 29 68 53 61 76 65 29 | 3b 0d 09 52 65 6c 65 61 |e)hSave)|;..Relea|
|00003630| 73 65 52 65 73 6f 75 72 | 63 65 28 50 53 74 72 48 |seResour|ce(PStrH|
|00003640| 61 6e 64 29 3b 0d 09 72 | 65 74 75 72 6e 20 28 69 |and);..r|eturn (i|
|00003650| 63 6f 6e 54 6f 55 73 65 | 29 3b 0d 7d 0d 2f 2f 20 |conToUse|);.}.// |
|00003660| 52 65 74 75 72 6e 73 20 | 76 72 65 66 6e 75 6d 20 |Returns |vrefnum |
|00003670| 6f 66 20 61 20 66 6f 6c | 64 65 72 20 74 79 70 65 |of a fol|der type|
|00003680| 0d 73 68 6f 72 74 20 47 | 65 74 46 6f 6c 64 65 72 |.short G|etFolder|
|00003690| 56 6f 6c 28 4f 53 54 79 | 70 65 20 74 79 70 65 29 |Vol(OSTy|pe type)|
|000036a0| 0d 7b 0d 57 44 50 42 52 | 65 63 09 09 77 64 50 61 |.{.WDPBR|ec..wdPa|
|000036b0| 72 61 6d 42 6c 6f 63 6b | 3b 09 09 2f 2a 70 61 72 |ramBlock|;../*par|
|000036c0| 61 6d 20 62 6c 6f 63 6b | 20 74 6f 20 73 65 74 20 |am block| to set |
|000036d0| 75 70 20 77 6f 72 6b 69 | 6e 67 20 64 69 72 65 63 |up worki|ng direc|
|000036e0| 74 6f 72 79 2a 2f 0d 73 | 68 6f 72 74 20 09 09 72 |tory*/.s|hort ..r|
|000036f0| 65 73 75 6c 74 3b 0d 73 | 68 6f 72 74 09 20 09 70 |esult;.s|hort. .p|
|00003700| 72 65 66 56 52 65 66 3b | 0d 6c 6f 6e 67 20 09 09 |refVRef;|.long ..|
|00003710| 70 72 65 66 44 69 72 49 | 44 3b 0d 0d 09 72 65 73 |prefDirI|D;...res|
|00003720| 75 6c 74 3d 46 69 6e 64 | 46 6f 6c 64 65 72 28 6b |ult=Find|Folder(k|
|00003730| 4f 6e 53 79 73 74 65 6d | 44 69 73 6b 2c 20 74 79 |OnSystem|Disk, ty|
|00003740| 70 65 2c 20 74 72 75 65 | 2c 20 26 70 72 65 66 56 |pe, true|, &prefV|
|00003750| 52 65 66 2c 20 26 70 72 | 65 66 44 69 72 49 44 29 |Ref, &pr|efDirID)|
|00003760| 3b 0d 09 69 66 20 28 72 | 65 73 75 6c 74 20 3d 3d |;..if (r|esult ==|
|00003770| 20 30 29 0d 09 7b 0d 09 | 09 77 64 50 61 72 61 6d | 0)..{..|.wdParam|
|00003780| 42 6c 6f 63 6b 2e 69 6f | 43 6f 6d 70 6c 65 74 69 |Block.io|Completi|
|00003790| 6f 6e 20 3d 20 4e 55 4c | 4c 3b 0d 09 09 77 64 50 |on = NUL|L;...wdP|
|000037a0| 61 72 61 6d 42 6c 6f 63 | 6b 2e 69 6f 4e 61 6d 65 |aramBloc|k.ioName|
|000037b0| 50 74 72 20 3d 20 4e 55 | 4c 4c 3b 0d 09 09 77 64 |Ptr = NU|LL;...wd|
|000037c0| 50 61 72 61 6d 42 6c 6f | 63 6b 2e 69 6f 56 52 65 |ParamBlo|ck.ioVRe|
|000037d0| 66 4e 75 6d 20 3d 20 70 | 72 65 66 56 52 65 66 3b |fNum = p|refVRef;|
|000037e0| 0d 09 09 77 64 50 61 72 | 61 6d 42 6c 6f 63 6b 2e |...wdPar|amBlock.|
|000037f0| 69 6f 57 44 44 69 72 49 | 44 20 3d 20 70 72 65 66 |ioWDDirI|D = pref|
|00003800| 44 69 72 49 44 3b 0d 09 | 09 72 65 73 75 6c 74 3d |DirID;..|.result=|
|00003810| 50 42 4f 70 65 6e 57 44 | 28 26 77 64 50 61 72 61 |PBOpenWD|(&wdPara|
|00003820| 6d 42 6c 6f 63 6b 2c 20 | 66 61 6c 73 65 29 3b 0d |mBlock, |false);.|
|00003830| 09 09 69 66 20 28 72 65 | 73 75 6c 74 20 3d 3d 20 |..if (re|sult == |
|00003840| 30 29 0d 09 09 09 72 65 | 74 75 72 6e 20 77 64 50 |0)....re|turn wdP|
|00003850| 61 72 61 6d 42 6c 6f 63 | 6b 2e 69 6f 56 52 65 66 |aramBloc|k.ioVRef|
|00003860| 4e 75 6d 3b 0d 09 7d 0d | 09 72 65 74 75 72 6e 20 |Num;..}.|.return |
|00003870| 30 3b 0d 7d 0d 00 00 00 | 00 00 00 00 00 00 00 00 |0;.}....|........|
|00003880| 00 00 01 00 00 00 01 6e | 00 00 00 6e 00 00 00 3e |.......n|...n...>|
|00003890| 00 0e 2f 2e 00 08 4e ba | ff 88 60 0c 1f 2e 00 0e |../...N.|..`.....|
|000038a0| 2f 2e 00 08 4e ba ff 7a | 4a ad ce 40 67 22 10 2e |/...N..z|J..@g"..|
|000038b0| 06 69 6e 69 74 2e 63 b4 | 02 00 00 00 54 45 58 54 |.init.c.|....TEXT|
|000038c0| 4d 50 53 20 01 00 00 00 | 00 00 00 00 00 00 14 2f |MPS ....|......./|
|000038d0| 00 00 54 45 58 54 4d 50 | 53 20 01 00 00 00 00 00 |..TEXTMP|S ......|
|000038e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000038f0| 00 00 a4 a8 66 34 00 00 | 37 f5 00 00 01 ac 67 0e |....f4..|7.....g.|
|00003900| 42 67 4e ad 07 d2 48 6d | 07 d2 4e ad 01 8a 1f 3c |BgN...Hm|..N....<|
|00003910| 00 04 4e ad 03 82 08 2d | 00 02 ed 5c 56 c7 44 07 |..N....-|...\V.D.|
|00003920| 10 07 66 04 80 2d ed 01 | 1c 00 10 2d f0 ec 67 7e |..f..-..|...-..g~|
|00003930| 12 06 66 0e 08 2d 00 06 | ed 5f 56 c2 82 02 c0 01 |..f..-..|._V.....|
|00003940| 67 6c 41 ee ff ac 43 fa | 04 1c 70 12 20 d9 51 c8 |glA...C.|..p. .Q.|
|00003950| ff fc 30 91 1f 3c 00 01 | 1f 07 2f 0e 4e ba fe f6 |..0..<..|../.N...|
|00003960| 41 ee ff ac 43 fa 03 b2 | 70 12 20 d9 51 c8 ff fc |A...C...|p. .Q...|
|00003970| 42 67 1f 07 2f 0e 4e ba | fe dc 41 ee ff ac 43 fa |Bg../.N.|..A...C.|
|00003980| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 2a 2a 2a |...H..Mo|naco.***|
|00003990| 2a 2a 2a 2a 2a 2a 2a 0d | 43 6f 70 79 72 69 67 68 |*******.|Copyrigh|
|000039a0| 74 20 31 39 39 30 00 06 | 00 04 00 50 00 20 02 6d |t 1990..|...P. .m|
|000039b0| 02 fd 00 50 00 20 02 6d | 02 fd a5 dd 1e 99 00 00 |...P. .m|........|
|000039c0| 04 93 00 00 04 99 00 00 | 02 c9 01 00 00 00 00 1e |........|........|
|000039d0| 00 50 00 20 02 6d 02 fd | 00 50 00 20 02 6d 02 fd |.P. .m..|.P. .m..|
|000039e0| 00 00 02 c9 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000039f0| 01 00 00 00 01 6e 00 00 | 00 6e 00 00 00 3e 00 54 |.....n..|.n...>.T|
|00003a00| 3f 14 0b 64 00 00 00 1c | 00 3e 00 00 4d 50 53 52 |?..d....|.>..MPSR|
|00003a10| 00 01 00 0a 03 ed ff ff | 00 00 00 00 00 00 00 00 |........|........|
|00003a20| 03 f0 ff ff 00 00 00 4c | 00 5a 3d fc 00 00 00 00 |.......L|.Z=.....|
|00003a30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003a40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003a50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003a60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003a70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+